home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr38 / finish24.zip / INSTALL.TXT < prev    next >
Text File  |  1993-04-01  |  131KB  |  4,218 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                               THE FINISHING TOUCH
  19.  
  20.                   Professional Software Installation Program
  21.  
  22.                                   Version 2.4
  23.                                  April 1, 1993
  24.  
  25.  
  26.  
  27.  
  28.                                  Developed by
  29.  
  30.                                 ImagiSOFT, Inc.
  31.                           Software Utilities Division
  32.                                 P.O. Box 13208
  33.                             Albuquerque, NM   87192
  34.  
  35.  
  36.  
  37.  
  38.                         Copyright 1992, ImagiSOFT, Inc.
  39.                              All Rights Reserved.
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.     IMPORTANT  NOTE:   This is a shareware version of The  Finishing  Touch
  55.     which  may  be  copied  and  distributed  for  evaluation  purposes  as
  56.     described  in  the  License Agreement below.  However, IT  MAY  NOT  BE
  57.     DISTRIBUTED  AS  PART  OF ANY OTHER SOFTWARE  PACKAGE.   Please  report
  58.     violations to ImagiSOFT, Inc. at the above address.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                TABLE OF CONTENTS
  66.  
  67.  
  68.     The Purpose of The Finishing Touch Software ......................... 4
  69.  
  70.     What is Shareware? .................................................. 5
  71.  
  72.     Registration ........................................................ 5
  73.  
  74.     How to Reach us for Support ......................................... 6
  75.  
  76.     License Agreement ................................................... 6
  77.  
  78.     Distributing Shareware Version of The Finishing Touch ............... 7
  79.  
  80.     How to Make Master Disks of Your Software ........................... 8
  81.  
  82.       Step 1:  Installing the Software to Your Hard Drive ............... 8
  83.  
  84.       Step 2:  Batch Files ............................................. 10
  85.  
  86.       Step 3:  Formatting Floppy Disks ................................. 10
  87.  
  88.       Step 4:  Making Labels ........................................... 11
  89.  
  90.       Step 5:  Writing the Script File for INSTALL.EXE ................. 11
  91.         System Colors .................................................. 12
  92.         How to Create INSTALL.FIL ...................................... 13
  93.             BACKGROUND Command Example ................................. 13
  94.             TELESCOPE Command Example .................................. 13
  95.             WINOPEN Command Example .................................... 13
  96.             SHADOW Command Example ..................................... 14
  97.             SPACE Command Example ...................................... 14
  98.             DRIVE Command Example ...................................... 14
  99.             PATH Command Example ....................................... 14
  100.             UNPACK Command Example ..................................... 14
  101.             JUMP.FAIL Command Example .................................. 15
  102.             WAIT Command Example ....................................... 15
  103.             END Command Example ........................................ 15
  104.             DELETE Command Example ..................................... 16
  105.             RD Command Example ......................................... 16
  106.             WINCLOSE Command Example ................................... 16
  107.  
  108.       Step 6:  Copy Files to 1st Master Disk ........................... 17
  109.  
  110.       Step 7:  Use the PACKER Utility .................................. 17
  111.  
  112.       Step 8:  Test Your Work .......................................... 18
  113.  
  114.       Step 9:  Write Installation Instructions ......................... 18
  115.  
  116.     Association of Shareware Professionals Membership .................. 19
  117.  
  118.  
  119.  
  120.  
  121.    ImagiSOFT, Inc.  The Finishing Touch                             Page 2
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.     APPENDIX A: SCRIPT FILE COMMANDS ................................... 20
  129.         ASK ............................................................ 20
  130.         BACKGROUND ..................................................... 21
  131.         BEEP ........................................................... 22
  132.         COPY ........................................................... 23
  133.         CPU ............................................................ 24
  134.         DELETE ......................................................... 25
  135.         DISK ........................................................... 26
  136.         DOS ............................................................ 27
  137.         DRIVE .......................................................... 28
  138.         EXIST .......................................................... 30
  139.         END ............................................................ 31
  140.         FILE ........................................................... 32
  141.         FILE.DATE ...................................................... 34
  142.         FILE.SIZE ...................................................... 35
  143.         JUMP ........................................................... 36
  144.         JUMP.FAIL ...................................................... 37
  145.         JUMP.NO ........................................................ 38
  146.         JUMP.YES ....................................................... 39
  147.         LANGUAGE ....................................................... 40
  148.         MEMORY ......................................................... 41
  149.         MD ............................................................. 42
  150.         MOUSE .......................................................... 43
  151.         PATH ........................................................... 44
  152.         PRINT .......................................................... 45
  153.         RD ............................................................. 46
  154.         REBOOT ......................................................... 47
  155.         RUN ............................................................ 48
  156.         SCRIPT ......................................................... 49
  157.         SET.FILES ...................................................... 50
  158.         SET.PATH ....................................................... 51
  159.         SHADOW ......................................................... 52
  160.         SHELL .......................................................... 53
  161.         SPACE .......................................................... 54
  162.         TELESCOPE ...................................................... 55
  163.         UNPACK ......................................................... 56
  164.         VIDEO .......................................................... 58
  165.         VIEW ........................................................... 59
  166.         WAIT ........................................................... 60
  167.         WINCLOSE ....................................................... 61
  168.         WINOPEN ........................................................ 62
  169.  
  170.     APPENDIX B: OTHER FEATURES OF THE FINISHING TOUCH .................. 63
  171.       Renaming INSTALL.EXE ............................................. 63
  172.       Labels ........................................................... 63
  173.       Internal Variables ............................................... 63
  174.       Comments ......................................................... 65
  175.       Hiding Windows ................................................... 65
  176.  
  177.     The Finishing Touch Registration Form .............................. 67
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.    ImagiSOFT, Inc.  The Finishing Touch                             Page 3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.     THE PURPOSE OF THE FINISHING TOUCH INSTALLATION PROGRAM
  192.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  193.  
  194.     The purpose of The Finishing Touch is two fold:
  195.          1.  The  Finishing Touch reduces the amount of floppy  disk  space
  196.              required on the disks you send out by 50 - 75% which will help
  197.              you  distribute  your  software  on as  few  floppy  disks  as
  198.              possible.  Depending upon the number of disks in the set,  The
  199.              Finishing Touch will save you thousands of dollars in software
  200.              production, mailing, and distribution costs.
  201.  
  202.          2.  The Finishing Touch gives the end user a simple, friendly, and
  203.              reliable  way  to install your software.  It  can  test  their
  204.              hardware  so your installation will go as smooth as  possible.
  205.              This will please the user and will reduce support costs.   You
  206.              only have one chance to make a first impression.  Why not make
  207.              it the best one possible?
  208.  
  209.  
  210.          The Finishing Touch consists of six files:
  211.  
  212.          PACKER.EXE   The  utility  which compresses and  copies  files  to
  213.                       formatted floppy disks.
  214.  
  215.          INSTALL.EXE  The  program which reads your script  file,  extracts
  216.                       the  files  from  the PACKED file  on  floppy  disks,
  217.                       copies  them  to  the end user's  hard  drive,  tests
  218.                       hardware, displays your messages, and much more.
  219.  
  220.          INSTALL.FIL  A   commented   sample  script   file   which   tells
  221.                       INSTALL.EXE what to do.
  222.  
  223.          INSTALL.TXT  Documentation  for all the above -- this is the  file
  224.                       you are reading right now.
  225.  
  226.          ORDER.TXT    The order form to register this software.
  227.  
  228.          READ.ME      A  file which tells how to print  this  documentation
  229.                       and any other additional information.
  230.  
  231.     IMPORTANT  NOTE:  INSTALL.EXE checks for missing or altered files.   If
  232.     any  of  the above files (except INSTALL.FIL) has been  altered  or  is
  233.     missing, the program will display an error and exit to DOS.
  234.  
  235.     The registered version is different in the following ways:
  236.          1.  The license agreement allows you to distribute INSTALL.EXE and
  237.              INSTALL.FIL  with your software for the purpose of  installing
  238.              it to the end user's hard drive.
  239.  
  240.          2.  The  license  agreement doesn't allow you  to  distribute  the
  241.              registered version to other people.
  242.  
  243.          3.  INSTALL.EXE  doesn't  check for the  PACKER.EXE,  INSTALL.TXT,
  244.              ORDER.TXT and READ.ME files.
  245.  
  246.  
  247.    ImagiSOFT, Inc.  The Finishing Touch                             Page 4
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.     WHAT IS SHAREWARE?
  255.     ~~~~~~~~~~~~~~~~~~
  256.     The Shareware concept gives you a chance to "try"  The Finishing  Touch
  257.     before  you  "buy" it.  If you try  The Finishing Touch and  decide  to
  258.     distribute  it  as the installation portion of your  software  you  are
  259.     required to register.
  260.  
  261.     Copyright  laws  apply to both Shareware and commercial  software,  and
  262.     ImagiSOFT,  Inc.  retains  all  rights  to   The  Finishing  Touch.  We
  263.     specifically grant you the right to copy and distribute this  software,
  264.     under the limitations of the license agreement found below.
  265.  
  266.     Shareware is a marketing method, not a type of software.  The Shareware
  267.     system  makes fitting your needs easier, because you can  "try"  before
  268.     you  "buy". SHAREWARE HAS THE ULTIMATE MONEY-BACK  GUARANTEE -- IF  YOU
  269.     DON'T USE THE PRODUCT, YOU DON'T PAY FOR IT!
  270.  
  271.     The  Finishing  Touch is a "shareware program" and is  provided  at  no
  272.     charge to you for evaluation.  Feel free to share it with your friends,
  273.     but  please do not give it away altered or as part of  another  system.
  274.     The essence of "user-supported" software is to provide you with quality
  275.     software without high prices, and yet to give us incentive to  continue
  276.     to develop new products.
  277.  
  278.  
  279.     REGISTRATION
  280.     ~~~~~~~~~~~~
  281.     If  you plan to distribute your software using The Finishing Touch  you
  282.     must send a registration payment of $69.95 to:
  283.  
  284.                                 ImagiSOFT, Inc.
  285.                           Software Utilities Division
  286.                                 P.O. Box 13208
  287.                             Albuquerque, NM   87192
  288.  
  289.     Your  $69.95 registration will license one copy of The Finishing  Touch
  290.     which  you  can freely distribute as the installation portion  of  your
  291.     company's software.  When you register we will send you the most recent
  292.     version along with printed documentation.  Print an order form by using
  293.     the DOS command COPY ORDER.TXT LPT1: or send your check along with:
  294.         - Your Name
  295.         - Your Company's Name
  296.         - Mailing Address
  297.         - Disk Size (5.25" or 3.5")
  298.  
  299.     You can order by credit card by calling (800) 767-1978  or
  300.                                     FAX     (505) 275-9697
  301.     You are encouraged to pass a copy of  The Finishing Touch along to your
  302.     friends  and business associates for evaluation, but  please  encourage
  303.     them to register their copy if they like and use it.
  304.  
  305.     Thank you for your support!
  306.  
  307.  
  308.  
  309.  
  310.    ImagiSOFT, Inc.  The Finishing Touch                             Page 5
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.     HOW TO REACH US FOR SUPPORT
  320.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  321.     We have made  The Finishing Touch as easy to use as possible.  However,
  322.     if  you have a problem, or find our documentation inadequate, we  would
  323.     like to hear from you.  You can reach us via U.S. Mail at:
  324.         ImagiSOFT, Inc.
  325.         Software Utilities Division
  326.         P.O. Box 13208
  327.         Albuquerque, NM 87192
  328.  
  329.     You will get faster service from us via electronic mail or FAX:
  330.         Our CompuServe ID number is 70632,1177.
  331.         Our Prodigy ID number is    FSWM11A.
  332.         Our FAX number is           (505) 275-9697.
  333.  
  334.  
  335.     LICENSE AGREEMENT
  336.     ~~~~~~~~~~~~~~~~~
  337.     The  The Finishing Touch program and its documentation are  copyrighted
  338.     works  protected  by  U.S. and international  copyright  law.  You  are
  339.     granted  a license to use your copy of  The Finishing Touch only  under
  340.     the terms and conditions specified in this license agreement.
  341.  
  342.     The  Finishing Touch is a commercial software product. It is not  free,
  343.     nor is it in the public domain.  It is distributed as Shareware,  which
  344.     means  that you may try the software before you pay for  it.   However,
  345.     you  must  stop  using  The Finishing Touch and  remove  it  from  your
  346.     computer if you decide not to pay the license fee.
  347.  
  348.     You  may  freely copy  The Finishing Touch for personal use.   You  may
  349.     also  give copies of  The Finishing Touch to others if they also  agree
  350.     to the terms of this agreement.
  351.  
  352.     USERS OF THE FINISHING TOUCH MUST ACCEPT THIS DISCLAIMER OF WARRANTY:
  353.        THE  FINISHING  TOUCH IS PROVIDED AS IS, WITHOUT WARRANTY  OF  ANY
  354.        KIND,  EXPRESS  OR  IMPLIED, INCLUDING, BUT  NOT  LIMITED  TO  THE
  355.        IMPLIED   WARRANTIES   OF  MERCHANTABILITY  AND  FITNESS   FOR   A
  356.        PARTICULAR  PURPOSE.  THE  ENTIRE  RISK  AS  TO  THE  QUALITY  AND
  357.        PERFORMANCE  IS  WITH  YOU. IMAGISOFT  ASSUMES  NO  LIABILITY  FOR
  358.        DAMAGES,  DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE   USE
  359.        OF THE FINISHING TOUCH.
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.    ImagiSOFT, Inc.  The Finishing Touch                             Page 6
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.     DISTRIBUTING THE SHAREWARE VERSION OF THE FINISHING TOUCH
  381.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  382.     Anyone  distributing  The Finishing Touch for any kind of  remuneration
  383.     must   first  contact  ImagiSOFT,  Inc.  at  the  address   below   for
  384.     authorization.    This  authorization  is  automatically   granted   to
  385.     distributors  recognized by the Association of Shareware  Professionals
  386.     (ASP)  as  adhering to its guidelines for shareware  distributors,  and
  387.     such distributors may begin offering  The Finishing Touch  immediately;
  388.     however, ImagiSOFT, Inc. must still be advised so that the  distributor
  389.     can be kept up-to-date with the latest version of  The Finishing Touch.
  390.  
  391.     If  you  are going to distribute  The Finishing Touch in  a  compressed
  392.     file, please use the name FINISH.??? (.ZIP, .ARC, .LZH, etc). We  would
  393.     appreciate  if  you would distribute our original  FINISH.ZIP  whenever
  394.     possible so that new users can be assured that they aren't receiving  a
  395.     program infected with a virus.
  396.  
  397.     Please include the following files in your distribution copy:
  398.  
  399.         INSTALL.EXE   Main program
  400.         INSTALL.FIL   Sample The Finishing Touch script file
  401.         PACKER.EXE    Software packing, archiving utility
  402.         INSTALL.TXT   Registration info, license agreement, etc.
  403.         ORDER.TXT     Order form
  404.         READ.ME       Brief description, how to install, etc.
  405.  
  406.     IMPORTANT NOTE:  The  The Finishing Touch program checks for missing or
  407.     altered  files.   If  any of the above files has  been  altered  or  is
  408.     missing, the program will exit to DOS.  The registered version does not
  409.     have this restriction.
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.    ImagiSOFT, Inc.  The Finishing Touch                             Page 7
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.     HOW TO MAKE MASTER DISKS OF YOUR SOFTWARE
  444.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  445.     Creating a master set of software for duplication requires nine steps:
  446.  
  447.          1.  Install  the software to the hard drive of the computer  which
  448.              you will use to make your master disks.
  449.  
  450.          2.  Create any BATCH files which the end user will use to run  the
  451.              software.
  452.  
  453.          3.  Format enough floppy disks to hold the complete software set.
  454.  
  455.          4.  Make labels for the master disks.
  456.  
  457.          5.  Write the script in the file INSTALL.FIL.  This is by far  the
  458.              most  difficult  step,  and the most in  depth  part  of  this
  459.              documentation.
  460.  
  461.          6.  Copy two files, INSTALL.EXE and INSTALL.FIL to the 1st  master
  462.              disk in the set.
  463.  
  464.          7.  Use the PACKER utility to compress and copy the software  from
  465.              the hard drive to the master floppy disks.
  466.  
  467.          8.  Test your work.
  468.  
  469.          9.  Write a simple set of instructions for the end user to  follow
  470.              on how to install your software.
  471.  
  472.  
  473.  
  474.     Instructions on how to complete each step are as follows:
  475.  
  476.  
  477.     STEP 1:  INSTALLING THE SOFTWARE TO YOUR HARD DRIVE
  478.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  479.     The  master set of software shouldn't reside in the same place as  your
  480.     test software.  The system colors and printer options must be  generic.
  481.     Commonly  used files which may be in your PATH such as BRUN30.EXE  must
  482.     be in the initial directory from which your system runs.
  483.  
  484.     The  first thing you must decide is whether you want to force the  user
  485.     into using a certain subdirectory name, or if you want him/her to input
  486.     their  own  directory  name.  An example of each  method  is  discussed
  487.     below.
  488.  
  489.     For  the  ImagiMOVIE Guide system, we want the user  to  install  their
  490.     software  in  the  \IMOVIE subdirectory, so we  created  the  following
  491.     directories on our network:
  492.  
  493.        \MASTER\M\IMOVIE
  494.  
  495.  
  496.  
  497.  
  498.  
  499.    ImagiSOFT, Inc.  The Finishing Touch                             Page 8
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.     \MASTER  is  an  empty directory, and is used solely for  the  sake  of
  507.     organization.
  508.  
  509.     For  Chinese Checkers we want the user to input their own  subdirectory
  510.     name, so we created a CHINESE subdirectory off \MASTER as follows:
  511.  
  512.     \MASTER\CHINESE\
  513.  
  514.     A graphic representation of our tree structure is as follows:
  515.  
  516.     |          |--CHINESE
  517.     |          |             |--DATA
  518.     R          |             |
  519.     O--MASTER--|--M--IMOVIE--|--SEARCH
  520.     O                        |
  521.     T                        |--CASTPICS
  522.     |
  523.     |
  524.  
  525.     For  The ImagiMOVIE GUIDE, the "M" subdirectory corresponds to the  end
  526.     user's  root directory, and contains MOVIE.BAT which we want  installed
  527.     to the end user's root directory so they can run the ImagiMOVIE Guide.
  528.  
  529.     After  the end user installs the ImagiMOVIE Guide System, the  "IMOVIE"
  530.     subdirectory, and all subdirectories below it, will be a branch off the
  531.     root directory of the end user's computer as follows:
  532.  
  533.     |          |--DATA
  534.     R          |
  535.     O--IMOVIE--|--SEARCH
  536.     O          |
  537.     T          |--CASTPICS
  538.  
  539.     MOVIE.BAT will be installed into the root directory.
  540.  
  541.  
  542.     Chinese Checkers, on the other hand will reside on the end user's  hard
  543.     drive where he/she decides to put it.  INSTALL.EXE reads a script  file
  544.     (discussed in depth on pages 10 - 16) which you will write to tell  the
  545.     end  user what to do to install your software.  The primary  difference
  546.     between  the script file for The ImagiMOVIE GUIDE and Chinese  Checkers
  547.     is that the Chinese Checkers script file uses the PATH command and  The
  548.     ImagiMOVIE   GUIDE  script  file  doesn't.   (See  APPENDIX A  for   an
  549.     explanation of the PATH command.)
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.    ImagiSOFT, Inc.  The Finishing Touch                             Page 9
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.     STEP 2:  BATCH FILES
  570.     ~~~~~~~~~~~~~~~~~~~~
  571.     As  discussed  on  the preceding page, the  "M"  subdirectory  contains
  572.     MOVIE.BAT  which  will run the ImagiMOVIE  GUIDE  software.   MOVIE.BAT
  573.     issues four simple DOS commands:
  574.        cd \imovie
  575.        cls
  576.        movie
  577.        cd \
  578.  
  579.     As  mentioned  earlier,  we can include  MOVIE.BAT  with  our  software
  580.     because we forced the user to install his/her software into the \IMOVIE
  581.     subdirectory.   If  you are going to allow the user  to  install  their
  582.     software in the subdirectory of their choosing, skip this step you  may
  583.     want  to  write  a batch file using the FILE  command.   See  the  FILE
  584.     command in APPENDIX A for a detailed example.
  585.  
  586.  
  587.     STEP 3:  FORMATTING FLOPPY DISKS
  588.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  589.     The  first thing you need to do is determine how much hard  disk  space
  590.     the  software requires.  Change to the \MASTER\M\ subdirectory of  your
  591.     hard  disk  and enter the command DIR /S.  Assuming you have  DOS  5.0,
  592.     after  displaying all the files in all the IMOVIE  subdirectories,  DOS
  593.     will display something similar to the following:
  594.  
  595.                   Total files listed:
  596.                        51 File(s)      2414424 bytes
  597.  
  598.     (If  you  don't  have  DOS  5.0 you will have  to  do  a  DIR  of  each
  599.     subdirectory and add the file sizes together.  Good Luck!)
  600.  
  601.     Unless you are certain that ALL the people you are going to  distribute
  602.     disks  to have high density floppy disks, it is good practice  to  make
  603.     your masters on low density diskettes.  Low density disks are also more
  604.     tolerant of disk drives which are slightly out of alignment.
  605.  
  606.     If  you are supporting 5.25" disks, make sure you format  your  masters
  607.     under  DOS 2.1 on a 360K disk drive.  Older DOS versions  have  trouble
  608.     reading disks formatted with later versions of DOS.  Also, low  density
  609.     drives  will NOT read a low density disk formatted or offloaded from  a
  610.     high density drive.
  611.  
  612.     3.5" diskettes  are much more forgiving.  Since  3.5" diskettes  didn't
  613.     come into being until DOS 3.1, it doesn't matter as much which  version
  614.     of  DOS  you use to format the disks.  (To be absolutely sure,  we  use
  615.     FORMATQM.  Sydex,  P.O. Box 5700, Eugene, OR   97405,  Voice (503) 683-
  616.     6033, FAX (503) 683-1622) to format our masters just in case, and  have
  617.     found  it consistently more reliable than DOS's FORMAT.)  You can  also
  618.     use  a high density drive to format and offload low density  diskettes.
  619.     To  format  a  low density disk using a high  density  drive,  use  the
  620.     command:
  621.        FORMAT A: /N:9 /T:80
  622.  
  623.  
  624.  
  625.    ImagiSOFT, Inc.  The Finishing Touch                             Page 10
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.     As a rule of thumb, PACKER will compress files by 50%.  Calculating how
  633.     many disks are required is a simple formula:
  634.        TOTAL SPACE / CAPACITY / 2
  635.  
  636.     For  our ImagiMOVIE Guide example using low density disks  the  formula
  637.     is:
  638.        2414424 / 720000 = 3.35 / 2 = 2
  639.  
  640.  
  641.     STEP 4:  MAKING LABELS
  642.     ~~~~~~~~~~~~~~~~~~~~~~
  643.     You  should  label  the disks (except possibly  the  last  one)  before
  644.     offloading the software to make ABSOLUTELY certain that the disks don't
  645.     get mixed up during the offloading process.
  646.  
  647.  
  648.     STEP 5:  WRITING THE SCRIPT FILE FOR INSTALL.EXE
  649.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  650.     This is by far the most difficult step in creating master disks.   Some
  651.     knowledge  of programming is helpful in this step, but  not  mandatory.
  652.     In this step you are writing a computer program in the file INSTALL.FIL
  653.     which  tells  INSTALL.EXE what to do.  You will need to  use  an  ASCII
  654.     editor  to  create  INSTALL.FIL.  For a detailed  description  of  each
  655.     command, see APPENDIX A SCRIPT FILE COMMANDS.
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.    ImagiSOFT, Inc.  The Finishing Touch                             Page 11
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.     SYSTEM COLORS
  696.     ~~~~~~~~~~~~~
  697.     INSTALL.EXE  detects  monochrome  cards  and  hard-codes  black & white
  698.     colors.  (Note:  Laptop computers are NOT monochrome, but are black and
  699.     white  color computers.)  Make sure you test on a laptop to be  certain
  700.     the colors are visible prior to distribution!
  701.  
  702.                                   COLOR CHART
  703.          Color = Background * 16 + Foreground
  704.  
  705.     ----------------------------------------------------------------------
  706.     |                             BACKGROUND                             |
  707.     |---------------------------------------------------------------------
  708.     |              Black  Blue  Green  Cyan  Red  Magenta  Brown   White |
  709.     |====================================================================|
  710.     |   | Black       0    16     32    48    64     80      96     112  |
  711.     |   |----------------------------------------------------------------|
  712.     | F | Blue        1    17     33    49    65     81      97     113  |
  713.     |   |----------------------------------------------------------------|
  714.     | O | Green       2    18     34    50    66     82      98     114  |
  715.     |   |----------------------------------------------------------------|
  716.     | R | Cyan        3    19     35    51    67     83      99     115  |
  717.     |   |----------------------------------------------------------------|
  718.     | E | Red         4    20     36    52    68     84     100     116  |
  719.     |   |----------------------------------------------------------------|
  720.     | G | Magenta     5    21     37    53    69     85     101     117  |
  721.     |   |----------------------------------------------------------------|
  722.     | R | Brown       6    22     38    54    70     86     102     118  |
  723.     |   |----------------------------------------------------------------|
  724.     | O | White       7    23     39    55    71     87     103     119  |
  725.     |   |----------------------------------------------------------------|
  726.     | U | Gray        8    24     40    56    72     88     104     120  |
  727.     |   |----------------------------------------------------------------|
  728.     | N | Lt Blue     9    25     41    57    73     89     105     121  |
  729.     |   |----------------------------------------------------------------|
  730.     | D | Lt Green   10    26     42    58    74     90     106     122  |
  731.     |   |----------------------------------------------------------------|
  732.     |   | Lt Cyan    11    27     43    59    75     91     107     123  |
  733.     |   |----------------------------------------------------------------|
  734.     |   | Lt Red     12    28     44    60    76     92     108     124  |
  735.     |   |----------------------------------------------------------------|
  736.     |   | Lt Mag     13    29     45    61    77     93     109     125  |
  737.     |   |----------------------------------------------------------------|
  738.     |   | Yellow     14    30     46    62    78     94     110     126  |
  739.     |   |----------------------------------------------------------------|
  740.     |   | Lt White   15    31     47    63    79     95     111     127  |
  741.     ----------------------------------------------------------------------
  742.  
  743.     If you want the color to flash, add 128 to any of the above numbers.
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.    ImagiSOFT, Inc.  The Finishing Touch                             Page 12
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.     HOW TO CREATE INSTALL.FIL
  759.     ~~~~~~~~~~~~~~~~~~~~~~~~~
  760.     The  best  way  to learn how to create INSTALL.FIL is to  look  at  the
  761.     sample  in  detail.   The  following pages contain  a  listing  of  the
  762.     INSTALL.FIL  that we created to install the free STAMP utility.  It  is
  763.     fully  commented, and should provide adequate documentation for  anyone
  764.     with rudimentary programming experience.
  765.  
  766.     Note:   empty program lines in INSTALL.FIL or those that begin with  an
  767.     apostrophe are ignored by the INSTALL.EXE program.
  768.  
  769.  
  770.     ========================   BEGINNING OF FILE   =======================
  771.  
  772.     ' Sample Install Script
  773.     ' Copyright 1992, ImagiSOFT, Inc.
  774.     ' June 1, 1992
  775.  
  776.     ' NOTE:  This script file takes a long time to load (and requires more
  777.     '        disk space because it has lots of comments.  The script files
  778.     '        you create should well commented, but be sure to remove most
  779.     '        of the comments on the final distribution copy so it will
  780.     '        be as small as possible.  There is a 400 line maximum for any
  781.     '        one script file.  However, this limitation can be overcome
  782.     '        with the SCRIPT command.
  783.  
  784.     ' display cyan colored background (see color chart in docs)
  785.  
  786.     BACKGROUND 63
  787.  
  788.  
  789.     ' turn off "exploding" or telescoping windows for first window
  790.     ' this will make the window instantly appear
  791.  
  792.     TELESCOPE OFF
  793.  
  794.  
  795.     ' display the heading in a window
  796.     '   located at 18 characters across
  797.     '               2 rows down  with a
  798.     '   magenta background and high intensity white letters
  799.  
  800.     WINOPEN 18 2 95
  801.  
  802.     "            ImagiSOFT, Inc."
  803.     "Where Imagination Brings Software to Life"
  804.     ""
  805.     "     Sample Installation Script File"
  806.     "         (Loads a Free Utility)"
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.    ImagiSOFT, Inc.  The Finishing Touch                             Page 13
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.     ' WINOPEN 0 2 95                  ' use this command instead
  822.     '                                   to make sure the window is
  823.     '                                   centered horizontally on
  824.  
  825.     ' turn on telescoping windows for the rest of the messages
  826.  
  827.     TELESCOPE ON
  828.  
  829.  
  830.     ' display all messages from this point on in a "shadowed" window
  831.     ' the default is "OFF".  This feature can be turned on and off as many
  832.     ' times as you want
  833.  
  834.     SHADOW ON
  835.  
  836.  
  837.     ' Tell INSTALL the minimum amount of required disk space
  838.  
  839.     SPACE 12               ' This sample is tiny, only 12K required.
  840.  
  841.  
  842.     '  Prompt for the drive to install to:
  843.  
  844.     DRIVE C 28 10 31 15 32 14 79
  845.     '         C = drive C, the pre-stuffed drive letter
  846.     '        28 = locate window at  28 characters across
  847.     '        10 =              and  10  rows down
  848.     '        31 = blue background and high intensity white foreground
  849.     '        15 = input on a black background with white letters
  850.     '        32 = error message located at 32 characters across
  851.     '        14 =                      and 14 rows down
  852.     '        79 = any error message will appear in a red window with
  853.     '             high intensity white letters
  854.  
  855.  
  856.     ' Prompt with default path \SAMPLE
  857.  
  858.     ' INSTALL.EXE  will work the same way whether the user enters SAMPLE,
  859.     ' \SAMPLE\, or \SAMPLE.  Mutiple directories such as \SAMPLE\UTIL\FREE
  860.     ' are also supported.
  861.  
  862.     PATH \SAMPLE 12 10 31 15 32 14 79
  863.  
  864.     ' the numbers above represent window locations and colors.  See the
  865.     ' documentation for more details
  866.  
  867.  
  868.     '  Unpack the files from the floppy drive.
  869.  
  870.     UNPACK SAMPLE.PAK 24 10 31 32 14 79
  871.  
  872.     ' SAMPLE.PAK was compressed using the enclosed PACKER utility.  This
  873.     ' utility will compress files 50% or more depending on the file type.
  874.     ' you should get compression results close to that of PKZIP.
  875.  
  876.  
  877.    ImagiSOFT, Inc.  The Finishing Touch                             Page 14
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.     ' the numbers above represent window locations and colors.  See the
  886.     ' documentation for more details
  887.  
  888.  
  889.     ' just for fun, open the disk drive in the middle of the installation
  890.     ' and see what happens.
  891.  
  892.     JUMP.FAIL INSTALL_FAILURE
  893.  
  894.  
  895.     ' Inform user that software installation is now complete
  896.  
  897.     WINOPEN 0 10 31
  898.  
  899.     "A FREE utility is now installed on your computer."
  900.     "To see what it is, use the following command:"
  901.     "   CD\SAMPLE   (or the name of the directory you"
  902.     "entered earlier).  Our way of saying  THANKS for"
  903.     "taking the time to review The Finishing Touch."
  904.     ""
  905.     "Press the [Enter] key to continue."
  906.  
  907.  
  908.     ' Wait for the user to press the [Enter] key so they can
  909.     ' read the above window
  910.  
  911.     WAIT 50 17
  912.  
  913.     ' the numbers above are the cursor location
  914.  
  915.  
  916.     ' ------------------------
  917.     ' exit the system normally
  918.     ' ------------------------
  919.  
  920.     ' this will close any open windows and clear the screen
  921.  
  922.     END
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.    ImagiSOFT, Inc.  The Finishing Touch                             Page 15
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.     ' ----------------------
  949.     ' Installation Failure.
  950.     ' It is a good idea to
  951.     ' add a similar routine
  952.     ' to the bottom of all
  953.     ' script files.
  954.     ' ----------------------
  955.  
  956.     :INSTALL_FAILURE
  957.  
  958.     ' labels begin with a colon and can be up to 32 characters long.
  959.  
  960.     WINOPEN 0 11 79
  961.  
  962.     ' the easiest way to center a message on the screen is to make
  963.     ' either the x or y coordinates "0".
  964.     ' 79 is a red window with white letters (good for error messages)
  965.  
  966.     "THE INSTALLATION PROGRAM FAILED PRIOR TO COMPLETION"
  967.     ""
  968.     "Possible reasons:"
  969.     "   -- The floppy disk was removed prior to completion."
  970.     "   -- The floppy disk was damaged during shipping."
  971.     "   -- Your disk drive is out of alignment."
  972.     ""
  973.     "Press [Enter] to remove incomplete program files."
  974.  
  975.     WAIT 62 19
  976.  
  977.  
  978.     ' delete all partial files using internal variables
  979.     '   ~1 = the drive the user installed to (C: was the default)
  980.     '   ~2 = the path the user installed to (\SAMPLE was the default)
  981.  
  982.     DELETE ~1~2\*.* 0 0 31
  983.  
  984.     ' now remove the directory
  985.  
  986.     RD ~1~2
  987.  
  988.     WINCLOSE
  989.  
  990.     WINOPEN 0 11 31
  991.  
  992.     "Partially Installed Files are Now Deleted."
  993.     ""
  994.     "      Press [Enter] to Quit."
  995.  
  996.     WAIT 47 14
  997.  
  998.     ========================   END OF SCRIPT FILE   =======================
  999.  
  1000.  
  1001.  
  1002.  
  1003.    ImagiSOFT, Inc.  The Finishing Touch                             Page 16
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.     STEP 6:  COPY FILES TO 1ST MASTER DISK
  1011.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1012.     COPY  INSTALL.EXE and INSTALL.FIL  (newly  created  above)  to   master
  1013.     diskette number one.  You may want to copy a third file, TEMP.FIL which
  1014.     is  filled with about 2K of "padding" in case you need to make  changes
  1015.     to INSTALL.FIL later.  Delete TEMP.FIL prior to final distribution.
  1016.  
  1017.  
  1018.     STEP 7: USE THE PACKER UTILITY
  1019.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1020.     Make sure PACKER.EXE is in your PATH.  We put it in our \UTIL directory
  1021.     which is where we keep all our commonly used utilities such as  PACKER.
  1022.     Again,  using ImagiMOVIE Guide as our example, move to  the  \MASTER\M\
  1023.     subdirectory with the command CD \MASTER\M.  (For Chinese Checkers move
  1024.     to the \MASTER\CHINESE subdirectory with CD \MASTER\CHINESE.)
  1025.  
  1026.     Enter the command:
  1027.        PACKER A:IMOVIE.PAK *.* /S
  1028.  
  1029.                A:IMOVIE.PAK     is  the name of the file that contains  the
  1030.                                 software in a compressed form.  PACKER will
  1031.                                 stretch this file across as many  formatted
  1032.                                 disks as it needs to.
  1033.  
  1034.                                 NOTE:  PACKER uses a very safe and reliable
  1035.                                 compression  algorithm and writes a 32  bit
  1036.                                 CRC  identification in the PACKED  file  to
  1037.                                 ensure  that  INSTALL  UNPACKS  each   file
  1038.                                 correctly.
  1039.  
  1040.                *.*              means  that PACKER will compress  and  copy
  1041.                                 all  files into IMOVIE.PAK.  While you  are
  1042.                                 testing  your first version of your  edited
  1043.                                 INSTALL.FIL,  you  may want  to  substitute
  1044.                                 *.EXE  here  so  that  only  a  very  small
  1045.                                 IMOVIE.PAK  file will be created  for  your
  1046.                                 first round of testing.
  1047.  
  1048.                /S               is  PACKER's  instruction  to  include  the
  1049.                                 files  in  subdirectories  too.  In   other
  1050.                                 words, copy all the software, not just  one
  1051.                                 directory.  In general, if you are  PACKING
  1052.                                 subdirectories,   use  the  /S  switch   in
  1053.                                 conjunction with the other options you have
  1054.                                 selected,  including  /L and /X  (see  next
  1055.                                 page).
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.    ImagiSOFT, Inc.  The Finishing Touch                             Page 17
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.     OTHER COMMANDS FOR PACKER
  1075.  
  1076.                /O               means to overwrite the existing file.   Use
  1077.                                 this instruction if you are updating a  set
  1078.                                 of Master Disks.
  1079.  
  1080.                /L               will  list  the files in the  packed  file.
  1081.                                 For example PACKER A:IMOVIE.PAK /L /S  will
  1082.                                 list  the  contents  of  the  PACKED  file,
  1083.                                 including  file name, date, time, CRC,  and
  1084.                                 compression   percentage.   Using  the   /L
  1085.                                 switch  will give you a clear idea of  just
  1086.                                 how  effective  our  The  Finishing   Touch
  1087.                                 utility is in reducing disk space!
  1088.  
  1089.                /X               will extract the files in the packed  file.
  1090.                                 Use the /X command when you need to extract
  1091.                                 files    without    INSTALL.EXE's    pretty
  1092.                                 interface.
  1093.  
  1094.     STEP 8:  TEST YOUR WORK
  1095.     ~~~~~~~~~~~~~~~~~~~~~~~
  1096.     The last step is to test your work.  Install the software on a AT LEAST
  1097.     ONE computer other than the one you created the masters from.  Ideally,
  1098.     this is a computer with nothing but DOS, CONFIG.SYS, and  AUTOEXEC.BAT,
  1099.     and no PATH or APPEND statements.  This will prevent files in your PATH
  1100.     from  being  found on your computer that probably won't be on  the  end
  1101.     user's computer.  It will also test the alignment of your disk  drives.
  1102.     Sometimes when disks are slightly out of alignment, diskettes formatted
  1103.     and files copied on one computer will work just fine on that  computer,
  1104.     but  the  same  disks tested on another computer will  fail.   (We  use
  1105.     CHECKIT to test our disk drives before offloading masters).  Be sure to
  1106.     test  your  disks on an LCD laptop to ensure that all your  colors  are
  1107.     visible.   Better yet--prompt the user with a window in  the  beginning
  1108.     which asks "Can you see this in color Y/N?" and JUMP.NO to an identical
  1109.     script  using black and white colors.  Try to install your disks  to  a
  1110.     drive that doesn't have enough disk space (such as drive B:), and  test
  1111.     every  option  in  your install script to make sure  your  script  file
  1112.     doesn't have "bugs".
  1113.  
  1114.  
  1115.     STEP 9:  WRITE INSTALLATION INSTRUCTIONS
  1116.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1117.     Your  instructions for the end user should be short, sweet and easy  to
  1118.     find.  Something similar to the following three instructions is usually
  1119.     enough:
  1120.  
  1121.          1.  Insert the 1st disk in a floppy drive.
  1122.  
  1123.          2.  Enter  the  command  A:INSTALL (or B:INSTALL)  and  press  the
  1124.              [Enter] key.  Follow the simple instructions as they appear on
  1125.              the screen.
  1126.  
  1127.  
  1128.  
  1129.    ImagiSOFT, Inc.  The Finishing Touch                             Page 18
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.          3.  After your software is installed, enter the command MOVIE from
  1137.              your root directory to run the ImagiMOVIE GUIDE software.
  1138.  
  1139.  
  1140.     IN SUMMARY
  1141.     ~~~~~~~~~~
  1142.     The Finishing Touch is a flexible, powerful utility which will save you
  1143.     THOUSANDS  of dollars in diskette duplication fees,  postage,  mailers,
  1144.     and installation support problems.  We hope that you find it to be  the
  1145.     most  useful,  easy to use, and smallest installation  program  on  the
  1146.     market!
  1147.  
  1148.  
  1149.     ASSOCIATION OF SHAREWARE PROFESSIONALS MEMBERSHIP
  1150.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1151.     ImagiSOFT,   Inc.  is  a  member  of  the  Association   of   Shareware
  1152.     Professionals  (ASP).   ASP  wants  to make  sure  that  the  shareware
  1153.     principle  works  for you.  If you are unable to resolve  a  shareware-
  1154.     related  problem with an ASP member by contacting the member  directly,
  1155.     ASP may be able to help.  The  ASP Ombudsman can  help  you  resolve  a
  1156.                                              dispute or problem with an ASP
  1157.              _______                         member,  but does not  provide
  1158.         ____|__     |               (r)      technical support for members'
  1159.      --|       |    |-------------------     products.  Please write to the
  1160.        |   ____|__  |  Association of        ASP  Ombudsman  at  545 Grover
  1161.        |  |       |_|  Shareware             Road,  Muskegon,  MI  49442 or
  1162.        |__|   o   |    Professionals         send a CompuServe  message via
  1163.      -----|   |   |---------------------     via  CompuServe  Mail  to  ASP
  1164.           |___|___|                          Ombudsman 70007,3536.
  1165.  
  1166.  
  1167.     THANK YOU!
  1168.     ~~~~~~~~~~
  1169.     We at ImagiSOFT, Inc. would like to thank you, our customers, for using
  1170.     The Finishing Touch.  The financial support of our loyal customers  has
  1171.     made   The  Finishing Touch possible.   We appreciate  you  very  much.
  1172.     Look  for our graphics-oriented games and other ImagiSOFT  products  on
  1173.     your local BBS or shareware vendor catalog.
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.    ImagiSOFT, Inc.  The Finishing Touch                             Page 19
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.                                   APPENDIX A
  1200.  
  1201.                              SCRIPT FILE COMMANDS
  1202.  
  1203.  
  1204.  
  1205.     ASK Command
  1206.  
  1207.     Purpose:     Wait for "Yes" or "No" response from user.
  1208.  
  1209.     Parameters:  ASK x y
  1210.                  x = x position of the cursor
  1211.                  y = y position of the cursor
  1212.  
  1213.     Remarks:     This  command  generally should be preceded by  a  WINOPEN
  1214.                  command, and will generally be followed by either JUMP.YES
  1215.                  or JUMP.NO.
  1216.  
  1217.                  If  the  LANGUAGE command has been issued  in  a  language
  1218.                  other than ENGLISH, ASK will behave slightly  differently;
  1219.                  instead  of "y" or "n" (yes or no), ASK waits for  "o"  or
  1220.                  "n"  (oui / non) if the LANGUAGE FRENCH command  has  been
  1221.                  given.   In Spanish ASK waits until either an "s"  or  "n"
  1222.                  (si / no) key is pressed.  If the LANGUAGE GERMAN  command
  1223.                  has  been  given,  INSTALL  waits  for  the  "j"  or   "n"
  1224.                  (jah / nign) to be pressed.
  1225.  
  1226.     Example:     WINOPEN 0 0 31
  1227.                  "     Do You Want to Install"
  1228.                  "Sound Blaster Files     Y or N?"
  1229.                  ASK 49 13
  1230.                  JUMP.NO EXIT_PROGRAM
  1231.  
  1232.                  The  example  above centers blue and white window  on  the
  1233.                  screen,  locates  the cursor 49 characters across  and  13
  1234.                  rows down, then waits for the user to press the "Y",  "y",
  1235.                  "N"  or  "n".   If the "Y" key  is  pressed,  the  JUMP.NO
  1236.                  command  is  skipped and INSTALL.EXE processes  the  Sound
  1237.                  Blaster  installation logic.  If the "N" key  is  pressed,
  1238.                  INSTALL.EXE  proceeds  to the label EXIT_PROGRAM  and  the
  1239.                  Sound Blaster installation logic is skipped.
  1240.  
  1241.     Errors:      None.
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.     ImagiSOFT, Inc.  Script File Commands                            Page 20
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.     BACKGROUND Command
  1263.  
  1264.     Purpose:     Sets background color
  1265.  
  1266.     Parameters:  BACKGROUND c
  1267.                  c = color numeric value between 0 - 255
  1268.                      (see color chart on page 12)
  1269.  
  1270.     Remarks:     Generally, this is the first command in the script file.
  1271.  
  1272.     Example:     BACKGROUND 63
  1273.                  Displays  a  cyan background and a  high  intensity  white
  1274.                  foreground.   Since  the high intensity  white  foreground
  1275.                  doesn't show, choosing any of the numbers between  48 - 63
  1276.                  will display a cyan background.
  1277.  
  1278.     Errors:      None.   If  INSTALL.EXE  detects a  monochrome  (not  LCD)
  1279.                  monitor it uses a predefined color set.
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.     ImagiSOFT, Inc.  Script File Commands                            Page 21
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.     BEEP Command
  1326.  
  1327.     Purpose:     To cause the computer's internal speaker to "beep".
  1328.  
  1329.     Parameters:  BEEP
  1330.  
  1331.     Remarks:     You may want to use this command after an error message or
  1332.                  just  prior  to  prompting for a new disk  with  the  DISK
  1333.                  command.   The  trouble with using this  command  is  that
  1334.                  internal messages and errors don't "beep", so your  "beep"
  1335.                  command may appear to be inconsistent with the rest of the
  1336.                  software.
  1337.  
  1338.     Example:     BEEP
  1339.                  DISK 4 FOUR.FIL 0 0 31
  1340.  
  1341.                  The above example will issue a "beep" just prior to asking
  1342.                  the user to insert disk number 4.
  1343.  
  1344.     Errors:      None
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.     ImagiSOFT, Inc.  Script File Commands                            Page 22
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.     COPY Command
  1389.  
  1390.     Purpose:     To copy files from one disk or directory to another.
  1391.  
  1392.     Parameters:  COPY f1 f2 x y c
  1393.                  f1 = the source file name.  globals (*.*, ?) are valid.
  1394.                  f2 = the target file name.
  1395.                  x  = the x position of the upper left corner of the window
  1396.                  y  = the y position of the upper left corner of the window
  1397.                  c  = numeric color value between 0 - 255 (see color chart)
  1398.  
  1399.     Remarks:     This  command is similar to the COPY command in DOS.   You
  1400.                  should  generally  include  one or more  of  the  internal
  1401.                  variables as part of the above file names when issuing the
  1402.                  COPY in your script file.  See VARIABLES in APPENDIX B for
  1403.                  more information.
  1404.  
  1405.                  You  may want to follow the COPY command with a  JUMP.FAIL
  1406.                  command  just  in case there is something wrong  with  the
  1407.                  user's disk.  The internal "fail" variable will get set if
  1408.                  the  COPY  command fails because of a disk  error  or  the
  1409.                  user's installation disk is full.
  1410.  
  1411.     Example 1:   COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK
  1412.  
  1413.                  You should create a backup of the user's AUTOEXEC.BAT when
  1414.                  you modify it with the FILE or SET.PATH command.   Similar
  1415.                  reasoning applies to modifying the user's CONFIG.SYS  with
  1416.                  the FILE or SET.FILES commands.
  1417.  
  1418.     Example 2:   :LCD
  1419.                  DISK 2 CONTROL.LCD 0 0 31
  1420.                  COPY ~0\CONTROL.LCD ~1~2\CONTROL.FIL 0 0 31
  1421.                  JUMP.FAIL LCD
  1422.  
  1423.                  In this example the user has previously told us that  they
  1424.                  are  using  an LCD laptop.  We copy the  file  CONTROL.LCD
  1425.                  which has the default laptop screen color configuration on
  1426.                  top  of  the  existing  file  CONTROL.FIL  in  the  user's
  1427.                  selected installation drive and path.
  1428.  
  1429.                  Since   at  this  point,  we  have  already   successfully
  1430.                  installed  the software to the user's hard drive,  we  can
  1431.                  assume the only thing that would cause the JUMP.FAIL  flag
  1432.                  to be set if the user prematurely opens the floppy  drive,
  1433.                  which is why you see the above "endless loop" structure.
  1434.  
  1435.     Errors:      None.
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.     ImagiSOFT, Inc.  Script File Commands                            Page 23
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.     CPU Command
  1452.  
  1453.     Purpose:     Test for a minimum required CPU type, 286 or 386.
  1454.  
  1455.     Parameters:  CPU p
  1456.                  p = minimum required processor type, 286 or 386
  1457.  
  1458.     Remarks:     Some programs are written to take advantage of certain 286
  1459.                  or 386 instructions which can enhance execution speed.  If
  1460.                  your program requires one of these processors (or  higher)
  1461.                  then  use  the CPU command as part  of  your  installation
  1462.                  script.   It should be immediately followed by a  JUMP.YES
  1463.                  or JUMP.NO command.
  1464.  
  1465.     Example:     CPU 386
  1466.                  The  above example tests for an 80386 as the  minimum  CPU
  1467.                  required  for the software.  If the computer has an  80386
  1468.                  or  80486  processor,  the internal flag will  be  set  to
  1469.                  "Yes";  if  the computer has an 8088, 8086, or  80286  the
  1470.                  internal flag will be set to "No".
  1471.  
  1472.                  The  next command should be JUMP.NO (JUMP.YES  would  work
  1473.                  equally  as  well depending on the logic  of  your  script
  1474.                  file), for example:
  1475.                       JUMP.NO NO_386_CPU
  1476.                  The  label :NO_386_CPU could have a WINOPEN command  which
  1477.                  tells  them that their computer doesn't have  the  minimum
  1478.                  required  hardware,  or it could have  an  UNPACK  command
  1479.                  which contains an alternate program version.
  1480.  
  1481.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  1482.                  APPENDIX B.
  1483.  
  1484.     Errors:      None.
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.     ImagiSOFT, Inc.  Script File Commands                            Page 24
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.     DELETE Command
  1515.  
  1516.     Purpose:     Delete files from the installation disk.
  1517.  
  1518.     Parameters:  DELETE f x y c
  1519.                  f = the file name.  globals (*.*, ?) are valid.
  1520.                  x = the x position of the upper left corner of the window
  1521.                  y = the y position of the upper left corner of the window
  1522.                  c = numeric color value between 0 - 255 (see color chart)
  1523.  
  1524.     Remarks:     This  command is similar to the DEL command in  DOS.   You
  1525.                  should  generally  include  one or more  of  the  internal
  1526.                  variables as part of the file name when issuing the DELETE
  1527.                  in your script file.  See VARIABLES in APPENDIX B for more
  1528.                  information.
  1529.  
  1530.                  You may want to follow the DELETE command with a JUMP.FAIL
  1531.                  command  just  in case there is something wrong  with  the
  1532.                  user's  installation disk.  The internal  "fail"  variable
  1533.                  will get set if the DELETE command fails because of a disk
  1534.                  error.
  1535.  
  1536.     Example 1:   DELETE ~1~2\DATA\*.* 0 0 31
  1537.                  JUMP.FAIL INSTALL_FAILURE
  1538.  
  1539.                  This  example deletes all the files in a directory  called
  1540.                  "DATA"  beneath the main directory the user installed  the
  1541.                  software  to.   The  variable ~1 is  the  drive  the  user
  1542.                  installed to, and ~2 is the path the user installed to.
  1543.  
  1544.     Example 2:   VIDEO EGA                       ' test for ega monitor
  1545.                  JUMP.NO CGA_CONFIG              ' no ega, jump to label
  1546.                  DELETE ~1~2\*.CGA 0 0 31        ' delete cga files
  1547.                  JUMP.FAIL INSTALL_FAILURE       ' in case of disk error
  1548.                  JUMP DONE                       ' skip cga configuration
  1549.                  :CGA_CONFIG                     ' label
  1550.                  DELETE ~1~2\*.EGA 0 0 31        ' delete ega files
  1551.                  JUMP.FAIL INSTALL_FAILURE       ' in case of disk error
  1552.                  :DONE                           ' label
  1553.  
  1554.                  This is an example where a game manufacturer has both  EGA
  1555.                  and CGA screens for their game.  The EGA screens have  the
  1556.                  extension .EGA whereas the CGA screens have the  extension
  1557.                  .CGA.  The above logic first checks for an EGA (or better)
  1558.                  monitor.   If  it finds EGA it deletes  the  CGA  screens,
  1559.                  otherwise  it "jumps" to CGA_CONFIG which deletes the  EGA
  1560.                  screens.
  1561.  
  1562.                  If your programs don't take up too much disk space you can
  1563.                  use a short script file which installs all the files  from
  1564.                  the  PACKED file then deletes any unused files such as  in
  1565.                  the above example.
  1566.  
  1567.     Errors:      None.
  1568.  
  1569.  
  1570.     ImagiSOFT, Inc.  Script File Commands                            Page 25
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.     DISK Command
  1578.  
  1579.     Purpose:     Prompt the user to insert one of the installation disks.
  1580.  
  1581.     Parameters:  DISK d f x y c
  1582.                  d = a numeric value equal to the disk number
  1583.                  f = the name of a file on the disk for verification
  1584.                  x = x position of the upper left hand corner of message
  1585.                  y = y position of the upper left hand corner of message
  1586.                  c = numeric color value (see color chart on page 12)
  1587.  
  1588.     Remarks:     Use  the DISK command when you want to prompt for  a  disk
  1589.                  out  of sequence, such as when using the ASK  command  and
  1590.                  UNPACKing several .PAK files.  See the UNPACK command  for
  1591.                  an example of using DISK to install a word processor which
  1592.                  uses several UNPACK commands.
  1593.  
  1594.                  Another  way to use DISK is when you want to COPY a  group
  1595.                  of  files  and  want to ensure that the  correct  disk  is
  1596.                  inserted prior to COPYing them.  A creative combination of
  1597.                  the  commands EXIST, JUMP.YES, DISK and COPY can help  you
  1598.                  keep  the  same  script  file for  both  5.25"  and  3.50"
  1599.                  floppies.
  1600.  
  1601.                  If  you  prompt  for  disk  "0",  the  DISK  command  will
  1602.                  increment  the current disk counter by 1.  This is  useful
  1603.                  when you are using the same script file for both 3.5"  and
  1604.                  5.25"  floppies and the disk number is different for  both
  1605.                  disk versions.
  1606.  
  1607.                  Note:   When  using the DISK command it is vital  to  have
  1608.                  DISK  search for a unique file name which is not found  on
  1609.                  any  other disk in the installation set.  If  your  script
  1610.                  directs DISK to search for a PACKed file on the disk, make
  1611.                  sure  that the PACKed file does not span across  disks  or
  1612.                  INSTALL will return with a fatal error if the user inserts
  1613.                  the wrong disk!  Create a 1 byte file such as FOUR.FIL  to
  1614.                  tell DISK which disk is disk 4 if you have to!
  1615.  
  1616.     Example:     DISK 4 FOUR.FIL 0 0 31
  1617.  
  1618.                  The  above command will display a blue window  with  white
  1619.                  letters, centered on the screen which reads:
  1620.  
  1621.                      Please insert disk 4.
  1622.  
  1623.                      Press the [Enter] key to continue.
  1624.  
  1625.                  This  window will remain on the screen until  the  [Enter]
  1626.                  key is pressed and the disk is inserted which contains the
  1627.                  file FOUR.FIL.
  1628.  
  1629.     Errors:      None.
  1630.  
  1631.  
  1632.  
  1633.     ImagiSOFT, Inc.  Script File Commands                            Page 26
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.     DOS Command
  1641.  
  1642.     Purpose:     Test for a minimum required DOS version.
  1643.  
  1644.     Parameters:  DOS v
  1645.                  v = minimum required DOS version.
  1646.  
  1647.     Remarks:     Some  programs  make DOS specific calls which may  not  be
  1648.                  available  on  earlier versions of DOS.  If  your  program
  1649.                  requires a certain DOS version use the DOS command in your
  1650.                  installation script.  It should be immediately followed by
  1651.                  a JUMP.YES or JUMP.NO command.
  1652.  
  1653.     Example:     DOS 3.3
  1654.                  The above example tests DOS version 3.3 as the minimum DOS
  1655.                  version required to run the software.  If the computer has
  1656.                  DOS version 3.3 or above the internal flag will be set  to
  1657.                  "Yes"; a lower version will set the internal flag to "No".
  1658.  
  1659.                  The  next command should be JUMP.NO (JUMP.YES  would  work
  1660.                  equally  as  well depending on the logic  of  your  script
  1661.                  file), for example:
  1662.                       JUMP.NO OLD_DOS
  1663.                  The  label  :OLD_DOS could have a  WINOPEN  command  which
  1664.                  tells  them  that  their computer doesn't  have  a  recent
  1665.                  enough  DOS  version, or it could have an  UNPACK  command
  1666.                  which contains an alternate program version.
  1667.  
  1668.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  1669.                  APPENDIX B.
  1670.  
  1671.                  Hint:  If you are using the FILE command to write a  batch
  1672.                  file  use  the DOS command to test for DOS  3.3  or  above
  1673.                  before  writing  the file.  If the DOS version is  3.3  or
  1674.                  higher,  you  can  precede each command with  "@"  so  the
  1675.                  command  in  your  batch file won't be  displayed  on  the
  1676.                  user's screen.
  1677.  
  1678.     Errors:      None.
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.     ImagiSOFT, Inc.  Script File Commands                            Page 27
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.     DRIVE Command
  1704.  
  1705.     Purpose:     Prompt the user for the drive to install to.
  1706.  
  1707.     Parameters:  DRIVE d wx wy wc ic mx my mc
  1708.                  d  = the pre-stuffed drive letter (C, D, E, F, etc.)
  1709.                  wx = the x position of the upper left corner of the window
  1710.                  wy = the y position of the upper left corner of the window
  1711.                  wc = the window color (see color chart on page 12)
  1712.                  ic = the input color  (see color chart on page 12)
  1713.                  mx = error message window x position
  1714.                  my = error message window y position
  1715.                  mc = the error message color.  Value between 0 - 255
  1716.                       (see color chart on page 12)
  1717.  
  1718.     Remarks:     The drive can be any value from A to Z.  The DRIVE command
  1719.                  should  generally  be  preceded  by  the  SPACE   command.
  1720.                  Issuance of DRIVE sets the variable ~1.  See also the PATH
  1721.                  command.
  1722.  
  1723.     Example:     DRIVE C 28 10 31 15 32 14 79
  1724.                  C  = pre-stuff the window with drive C as a default
  1725.                  28 = locate window at 28 characters across
  1726.                  10 = locate window at 10 rows down
  1727.                  31 = blue background window with bright white border
  1728.                  15 = input on black background with bright white letters
  1729.                  32 = error message located at 32 characters across
  1730.                  14 = error message located at 14 rows down
  1731.                  79 = errors displayed in a red window with white letters
  1732.  
  1733.                  If the user elects to install to drive C, in the  example
  1734.                  above, the variable ~1 would equal C  This variable  adds
  1735.                  tremendous power to The Finishing Touch; see the  WINOPEN,
  1736.                  MD,  RD, COPY, DELETE, FILE, SHELL, and RUN  commands  for
  1737.                  examples.
  1738.  
  1739.     Errors:      Several errors can occur here which is why you must  input
  1740.                  the coordinates and colors of the possible error message.
  1741.  
  1742.                  The first thing INSTALL.EXE does is to check to make  sure
  1743.                  that  the  input  drive exists.  If the  user  selects  an
  1744.                  invalid drive the error message
  1745.                       Drive <Drive>: is invalid.
  1746.                  will be displayed in the error message window.
  1747.  
  1748.                  If  the SPACE command has been issued, the  DRIVE  command
  1749.                  checks for sufficient disk space.  If there is not  enough
  1750.                  space to install the program, the error message
  1751.                       No space on drive <Drive>.  (<Amount>K needed)
  1752.                  will be displayed in the error message window.
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.     ImagiSOFT, Inc.  Script File Commands                            Page 28
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.     DRIVE Command (Continued)
  1767.  
  1768.                  If  the user tries to install to a floppy drive  which  is
  1769.                  not ready the message
  1770.                       Drive <Drive>: is not ready.
  1771.                  will be displayed in the error message window.
  1772.  
  1773.                  If  any  of  these errors occur, the  user  must  enter  a
  1774.                  different drive letter, correct the problem, or press  the
  1775.                  [Esc] key to exit installation.
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.     ImagiSOFT, Inc.  Script File Commands                            Page 29
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.     EXIST Command
  1830.  
  1831.     Purpose:     To determine whether or not a file exists.
  1832.  
  1833.     Parameters:  EXIST f
  1834.                  f = file name and path.  Globals (*.*, ?) are valid.
  1835.  
  1836.     Remarks:     The EXIST combined with the JUMP.NO / JUMP.YES commands is
  1837.                  important   when  the  software  you  are  installing   is
  1838.                  dependent upon the existence of other previously installed
  1839.                  software, such as Microsoft Windows(tm).  You should  also
  1840.                  use  it  when  you are sending an  update  to  a  previous
  1841.                  version.
  1842.  
  1843.                  EXIST  looks  for matching entries (both  directories  and
  1844.                  files  will be found), and should always be used prior  to
  1845.                  making  or  deleting  a  directory.  See  the  MD  and  RD
  1846.                  commands for details.
  1847.  
  1848.                  EXIST  is  often followed by a JUMP.FAIL command  in  case
  1849.                  there  is  a fatal disk error on any of  the  user's  disk
  1850.                  drives.
  1851.  
  1852.     Example 1:   :WINDOWS_PROMPT                 ' label for jump command
  1853.                  TELESCOPE OFF                   ' draw windows quickly
  1854.                  SHADOW ON                       ' shadow the window below
  1855.                  WINOPEN 7 4 31
  1856.                  ""
  1857.                  "  Tetris for Windows will be installed into the GAMES
  1858.                           directory  "          ' (connected to line above)
  1859.                  "  beneath the directory where WINDOWS resides."
  1860.                  "  Please enter the location of your WINDOWS directory:"
  1861.                  ""
  1862.                  ""
  1863.                  ""
  1864.                  ""
  1865.                  ""
  1866.                  SHADOW OFF                      ' don't shadow path window
  1867.                  PATH \WINDOWS 8 9 17 15 32 14 79
  1868.                  EXIST ~1~2\WIN.COM              ' test for proper entry
  1869.                  JUMP.NO WINDOWS_PROMPT          ' wrong: jump back
  1870.  
  1871.                  The  example above shows how the EXIST command is used  to
  1872.                  create  an  error trap to ensure that the  user  correctly
  1873.                  informs INSTALL.EXE where the Windows directory is.
  1874.  
  1875.                  Hint:   Notice that the above example uses color 17  (blue
  1876.                  on blue) as a technique to "hide" the outline and  install
  1877.                  messages in the window that normally comes by issuing  the
  1878.                  PATH command.
  1879.  
  1880.     Errors:      None.
  1881.  
  1882.  
  1883.  
  1884.  
  1885.     ImagiSOFT, Inc.  Script File Commands                            Page 30
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.     END Command
  1893.  
  1894.     Purpose:     To end processing of the script file.
  1895.  
  1896.     Parameters:  END
  1897.  
  1898.     Remarks:     The  END  command works exactly the way  the  END  command
  1899.                  works  in BASIC -- it clears the screen and drops to  DOS.
  1900.                  The END command is not necessary if your script file  ends
  1901.                  on  the last line, but usually, error messages are  placed
  1902.                  at the end of the script file.
  1903.  
  1904.     Example:     .
  1905.                  .
  1906.                  .
  1907.                  END
  1908.  
  1909.                  ' ---------------------
  1910.                  ' error message section
  1911.                  ' ---------------------
  1912.  
  1913.                  :NOT_ENOUGH_MEMORY
  1914.  
  1915.                  The  above example shows the main body of the script  file
  1916.                  preceding  the END command, and having the error  messages
  1917.                  placed  at the bottom.  This is the recommended  structure
  1918.                  for script files.
  1919.  
  1920.     Errors:      None.
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.     ImagiSOFT, Inc.  Script File Commands                            Page 31
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.     FILE Command
  1956.  
  1957.     Purpose:     To  append  the end of a file with instructions  from  the
  1958.                  script  file.   This  command  will  create  the  file  if
  1959.                  necessary,  and  is  useful  for  modifying  AUTOEXEC.BAT,
  1960.                  CONFIG.SYS, WIN.INI, and for creating batch files.
  1961.  
  1962.     Parameters:  FILE f
  1963.                  f = the file name
  1964.                  "All commands are held within quotes"
  1965.  
  1966.     Remarks:     The  FILE  command will generally be used  in  conjunction
  1967.                  with the internal variables ~0, ~1, ~2, and ~3.  It should
  1968.                  generally be followed by a JUMP.FAIL command in case there
  1969.                  is a problem with one of the user's disks.
  1970.  
  1971.                  When  using FILE to modify either the user's  AUTOEXEC.BAT
  1972.                  or CONFIG.SYS file, use the COPY command to make a  backup
  1973.                  file.   You may want to use the VIEW command afterward  so
  1974.                  that  the user can see the changes you have made to  these
  1975.                  files.
  1976.  
  1977.     Example 1:   COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK
  1978.                  FILE ~3\AUTOEXEC.BAT
  1979.                  "~1"
  1980.                  "cd ~2"
  1981.                  "menu"
  1982.  
  1983.                  This  example of a menu program installation  tacks  three
  1984.                  commands  at the bottom of AUTOEXEC.BAT -- after making  a
  1985.                  backup first.  The first command selects the  installation
  1986.                  drive, the second changes to the installed directory,  and
  1987.                  the third runs the menu program.
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.     ImagiSOFT, Inc.  Script File Commands                            Page 32
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.     FILE Command  (Continued)
  2019.  
  2020.     Example 2:   DOS 3.3                         ' check for DOS 3.3+
  2021.                  JUMP.NO OLD_DOS                 ' dos 3.2 or lower, jump
  2022.                  FILE ~1\TSA.BAT                 ' create tsa.bat in root
  2023.                  "@~1"
  2024.                  "@cd ~2"
  2025.                  "@sfpinit -b22 start.exe"
  2026.                  "@cd \"
  2027.                  JUMP DONE                       ' jump over old dos stuff
  2028.                  :OLD_DOS                        ' label
  2029.                  FILE ~1\TSA.BAT                 ' create tsa.bat in root
  2030.                  "~1"
  2031.                  "cd ~2"
  2032.                  "sfpinit -b22 start.exe"
  2033.                  "cd \"
  2034.                  :DONE                           ' finished
  2035.  
  2036.                  Example 2 illustrates how the FILE command can be used  to
  2037.                  write  a  batch  file in the root drive  of  the  client's
  2038.                  installation disk so the user can run the software with  a
  2039.                  simple  command,  in this case "TSA".  It checks  for  DOS
  2040.                  version 3.3 or above where the at sign ("@") supresses the
  2041.                  line from being displayed on the screen.  On DOS  versions
  2042.                  3.2 or lower, a batch command beginning with "@" will  not
  2043.                  be processed.
  2044.  
  2045.     Errors:      None.
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.     ImagiSOFT, Inc.  Script File Commands                            Page 33
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.     FILE.DATE Command
  2082.  
  2083.     Purpose:     To check the date of a file.
  2084.  
  2085.     Parameters:  FILE.DATE f d
  2086.                  f = file name and path
  2087.                  d = date of file in MM-DD-YYYY format
  2088.  
  2089.     Remarks:     FILE.DATE combined with the JUMP.NO / JUMP.YES commands is
  2090.                  useful  when  you  are sending an update  for  a  previous
  2091.                  software  version.   Testing the file date  is  not  "fool
  2092.                  proof",  however, because some backup programs modify  the
  2093.                  time  and  date  of  files.   The  FILE.SIZE  command   is
  2094.                  generally  a  more  reliable method  of  testing  for  the
  2095.                  current software version.
  2096.  
  2097.                  FILE.DATE  may be followed by a JUMP.FAIL command in  case
  2098.                  there  is  a fatal disk error on the  user's  installation
  2099.                  disk drive.
  2100.  
  2101.     Example:     :TSA_PROMPT                     ' label for jump command
  2102.                  TELESCOPE OFF                   ' draw windows quickly
  2103.                  SHADOW ON                       ' shadow the window below
  2104.                  WINOPEN 15 2 31
  2105.                  "Tax Sheltered Annuity Software Update"
  2106.                  "              July 1, 1992"
  2107.                  ""
  2108.                  "Please enter the location of your TSA directory:"
  2109.                  ""
  2110.                  ""
  2111.                  ""
  2112.                  ""
  2113.                  ""
  2114.                  SHADOW OFF                        ' no shadow path window
  2115.                  PATH \TSA 16 7 17 15 32 14 79     ' prompt for directory
  2116.                  EXIST ~1~2\TSA.EXE                ' test for correct dir
  2117.                  JUMP.NO TSA_PROMPT                ' wrong: jump back
  2118.                  FILE.DATE ~1~2\TSA.EXE 01-01-1992 ' test version
  2119.                  JUMP.NO MISSED_UPDATE             ' wrong version
  2120.  
  2121.                  The example above shows one method of using INSTALL.EXE as
  2122.                  a software update program.  If the file date on TSA.EXE is
  2123.                  not  equal  to  January 1, 1992  INSTALL.EXE  jumps  to  a
  2124.                  message  where the user is told that they have  missed  an
  2125.                  update,   and  to  contact  the  home  office   for   more
  2126.                  information.
  2127.  
  2128.                  Hint:   Notice that the above example uses color 17  (blue
  2129.                  on blue) as a technique to "hide" the outline and  install
  2130.                  messages in the window that normally comes by issuing  the
  2131.                  PATH command.
  2132.  
  2133.     Errors:      None.
  2134.  
  2135.  
  2136.  
  2137.     ImagiSOFT, Inc.  Script File Commands                            Page 34
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.     FILE.SIZE Command
  2145.  
  2146.     Purpose:     To check the size of a file.
  2147.  
  2148.     Parameters:  FILE.SIZE f s
  2149.                  f = file name and path
  2150.                  s = size of file in bytes
  2151.  
  2152.     Remarks:     FILE.SIZE combined with the JUMP.NO / JUMP.YES commands is
  2153.                  useful  when  you updating a  previous  software  version.
  2154.                  After the EXIST command has been issued to ensure you  are
  2155.                  in  the proper directory, issue the FILE.SIZE  command  to
  2156.                  make sure they have the latest version of the software.
  2157.  
  2158.                  You  can  also  run FILE.SIZE on WIN.COM  in  the  Windows
  2159.                  directory to test which version of Windows is installed.
  2160.  
  2161.                  FILE.SIZE  may be followed by a JUMP.FAIL command in  case
  2162.                  there  is  a fatal disk error on the  user's  installation
  2163.                  disk drive.
  2164.  
  2165.     Example:     :TSA_PROMPT                     ' label for jump command
  2166.                  TELESCOPE OFF                   ' draw windows quickly
  2167.                  SHADOW ON                       ' shadow the window below
  2168.                  WINOPEN 15 2 31
  2169.                  "Tax Sheltered Annuity Software Update"
  2170.                  "              July 1, 1992"
  2171.                  ""
  2172.                  "Please enter the location of your TSA directory:"
  2173.                  ""
  2174.                  ""
  2175.                  ""
  2176.                  ""
  2177.                  ""
  2178.                  SHADOW OFF                        ' no shadow path window
  2179.                  PATH \TSA 16 7 17 15 32 14 79     ' prompt for directory
  2180.                  EXIST ~1~2\TSA.EXE                ' test for correct dir
  2181.                  JUMP.NO TSA_PROMPT                ' wrong: jump back
  2182.                  FILE.SIZE ~1~2\TSA.EXE 65322      ' test version
  2183.                  JUMP.NO MISSED_UPDATE             ' wrong version
  2184.  
  2185.                  The example above shows one method of using INSTALL.EXE as
  2186.                  a software update program.  If the file size of TSA.EXE is
  2187.                  not  equal  to 65322 then INSTALL.EXE jumps to  a  message
  2188.                  where  the user is told that they have missed  an  update,
  2189.                  and to contact the home office for more information.
  2190.  
  2191.                  Hint:   Notice that the above example uses color 17  (blue
  2192.                  on blue) as a technique to "hide" the outline and  install
  2193.                  messages in the window that normally comes by issuing  the
  2194.                  PATH command.
  2195.  
  2196.     Errors:      None.
  2197.  
  2198.  
  2199.  
  2200.     ImagiSOFT, Inc.  Script File Commands                            Page 35
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.     JUMP Command
  2208.  
  2209.     Purpose:     To skip certain instructions by "jumping" over them.
  2210.  
  2211.     Parameters:  JUMP l
  2212.                  l = Label in your installation script file
  2213.  
  2214.     Remarks:     This  command is similar to the GOTO command in BASIC;  it
  2215.                  is  an  unconditional "jump" to another location  in  your
  2216.                  installation script, called a "label".  It is useful  when
  2217.                  different  parts  of your installation  perform  different
  2218.                  functions.  For example, you might install different files
  2219.                  for  computers  which  have EGA  monitors  than  have  CGA
  2220.                  monitors.
  2221.  
  2222.                  Note:   Labels always begin with a colon, reside on  lines
  2223.                  by  themselves, and don't exceed 32 characters in  length.
  2224.                  Any   ASCII  character  greater  than  32   (the   "space"
  2225.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2226.                  information.
  2227.  
  2228.     Example:     JUMP CGA_CONFIG
  2229.                  .
  2230.                  .
  2231.                  .
  2232.                  :CGA_CONFIG
  2233.  
  2234.     Errors:      None.
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.     ImagiSOFT, Inc.  Script File Commands                            Page 36
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.     JUMP.FAIL Command
  2271.  
  2272.     Purpose:     To   ascertain  whether  a  critical  procedure   in   the
  2273.                  installation process "fails".
  2274.  
  2275.     Parameters:  JUMP.FAIL l
  2276.                  l = Label in your installation script file
  2277.  
  2278.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2279.                  BASIC;  it is a conditional "jump" to another location  in
  2280.                  your installation script, called a "label".  This  command
  2281.                  is  useful if the unexpected causes your  installation  to
  2282.                  "fail".   Commands which can set the internal "fail"  flag
  2283.                  are:  COPY, DELETE, EXIST, FILE, FILE.DATE, FILE.SIZE, MD,
  2284.                  RD, SET.FILES, SET.PATH, UNPACK, and VIEW.
  2285.  
  2286.                  Note:   Labels always begin with a colon, reside on  lines
  2287.                  by  themselves, and don't exceed 32 characters in  length.
  2288.                  Any   ASCII  character  greater  than  32   (the   "space"
  2289.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2290.                  information.
  2291.  
  2292.     Example:     SET.FILES 32
  2293.                  JUMP.FAIL BAD_FILES
  2294.                  .
  2295.                  .
  2296.                  :BAD_FILES
  2297.                  .
  2298.                  .
  2299.                  END
  2300.  
  2301.                  In the above example the SET.FILES command will make  sure
  2302.                  that the FILES statement in CONFIG.SYS is set to at  least
  2303.                  32.  An error could occur due to a number of conditions:
  2304.                    -- CONFIG.SYS is flagged as READ ONLY.
  2305.                    -- The boot disk is not available or ready.
  2306.                    -- The installation disk is full.
  2307.  
  2308.     Errors:      None.
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.     ImagiSOFT, Inc.  Script File Commands                            Page 37
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.     JUMP.NO Command
  2334.  
  2335.     Purpose:     To  skip certain instructions by  conditionally  "jumping"
  2336.                  over them.
  2337.  
  2338.     Parameters:  JUMP.NO l
  2339.                  l = Label in your installation script file
  2340.  
  2341.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2342.                  BASIC;  it is a conditional "jump" to another location  in
  2343.                  your installation script, called a "label".  It is  useful
  2344.                  when  you  different parts of  your  installation  perform
  2345.                  different  functions.   For  example,  you  might  install
  2346.                  different files for computers which have EGA monitors than
  2347.                  have CGA monitors.
  2348.  
  2349.                  JUMP.NO  should  be preceded by a command which  sets  the
  2350.                  internal variable to either "Yes" or "No".  These commands
  2351.                  are:  ASK,  CPU,  EXIST, MOUSE,  and  VIDEO.    A  closely
  2352.                  related command is the JUMP.YES command.
  2353.  
  2354.                  Note:   Labels always begin with a colon, reside on  lines
  2355.                  by  themselves, and don't exceed 32 characters in  length.
  2356.                  Any   ASCII  character  greater  than  32   (the   "space"
  2357.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2358.                  information.
  2359.  
  2360.     Example:     VIDEO EGA                        ' test for EGA or better
  2361.                  JUMP.NO CGA_CONFIG               ' not EGA jump to CGA
  2362.  
  2363.                  ' ega system logic resides here
  2364.  
  2365.                  JUMP EXIT_INSTALL                ' jump over CGA logic
  2366.  
  2367.                  ' configure computer for cga system
  2368.                  :CGA_CONFIG
  2369.  
  2370.                  ' cga system logic resides here
  2371.  
  2372.                  :EXIT_INSTALL
  2373.  
  2374.                  The above example tests whether the computer has an EGA or
  2375.                  better monitor, which sets the internal flag to "YES".  If
  2376.                  the  computer  has an EGA or better monitor,  the  JUMP.NO
  2377.                  command isn't activated, so the script continues with  the
  2378.                  EGA  system logic directly under the JUMP.NO command.   If
  2379.                  the  computer doesn't have an EGA or better  monitor,  the
  2380.                  JUMP.NO  command  "jumps"  to  the  label  CGA_CONFIG  and
  2381.                  continues with the script.
  2382.  
  2383.     Errors:      None.
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.     ImagiSOFT, Inc.  Script File Commands                            Page 38
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.     JUMP.YES Command
  2397.  
  2398.     Purpose:     To  skip certain instructions by  conditionally  "jumping"
  2399.                  over them.
  2400.  
  2401.     Parameters:  JUMP.YES l
  2402.                  l = Label in your installation script file
  2403.  
  2404.     Remarks:     This command is similar to a IF FLAG THEN GOTO command  in
  2405.                  BASIC;  it is a conditional "jump" to another location  in
  2406.                  your installation script, called a "label".  It is  useful
  2407.                  when  you  different parts of  your  installation  perform
  2408.                  different  functions.   For  example,  you  might  install
  2409.                  different files for computers which have EGA monitors than
  2410.                  have CGA monitors.
  2411.  
  2412.                  JUMP.YES  should be preceded by a command which  sets  the
  2413.                  internal variable to either "Yes" or "No".  These commands
  2414.                  are:  ASK,  CPU,  EXIST, MOUSE,  and  VIDEO.    A  closely
  2415.                  related command is the JUMP.NO command.
  2416.  
  2417.                  Note:   Labels always begin with a colon, reside on  lines
  2418.                  by  themselves, and don't exceed 32 characters in  length.
  2419.                  Any   ASCII  character  greater  than  32   (the   "space"
  2420.                  character)  is valid.  See LABELS in APPENDIX B  for  more
  2421.                  information.
  2422.  
  2423.     Example:     VIDEO EGA                        ' test for EGA or better
  2424.                  JUMP.YES EGA_CONFIG              ' if EGA jump to EGA
  2425.  
  2426.                  ' non-EGA system logic resides here
  2427.  
  2428.                  JUMP EXIT_INSTALL                ' jump over EGA logic
  2429.  
  2430.                  ' configure computer for ega system
  2431.                  :EGA_CONFIG
  2432.  
  2433.                  ' ega system logic resides here
  2434.  
  2435.                  :EXIT_INSTALL
  2436.  
  2437.                  The above example tests whether the computer has an EGA or
  2438.                  better monitor, which sets the internal flag to "YES".  If
  2439.                  the  computer has an EGA or better monitor,  the  JUMP.YES
  2440.                  command "jumps" to the label EGA_CONFIG and continues with
  2441.                  the script.  If the computer doesn't have at least an EGA,
  2442.                  the script ignores the JUMP.YES command and continues with
  2443.                  the logic under the JUMP.YES command.
  2444.  
  2445.     Errors:      None.
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.     ImagiSOFT, Inc.  Script File Commands                            Page 39
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.     LANGUAGE Command
  2460.  
  2461.     Purpose:     To display INSTALL.EXE's system and error messages in  the
  2462.                  English, French, German, or Spanish language.
  2463.  
  2464.     Parameters:  LANGUAGE l
  2465.                  l = the desired language.
  2466.  
  2467.     Remarks:     The  default  language  is  English,  which  will  be  the
  2468.                  language  of  all INSTALL.EXE's message  if  the  LANGUAGE
  2469.                  command is not given.  If one of the other three supported
  2470.                  languages is being used, the LANGUAGE statement should  be
  2471.                  one of the first commands in the script.
  2472.  
  2473.                  The  ASK command works slightly differently  depending  on
  2474.                  the LANGUAGE selected.  See the ASK command for details.
  2475.  
  2476.     Examples:    LANGUAGE FRENCH
  2477.                  LANGUAGE GERMAN
  2478.                  LANGUAGE SPANISH
  2479.  
  2480.     Errors:      None.
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.     ImagiSOFT, Inc.  Script File Commands                            Page 40
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.     MEMORY Command
  2523.  
  2524.     Purpose:     To  make  sure  the computer has  sufficient  base  memory
  2525.                  installed to run the program.
  2526.  
  2527.     Parameters:  MEMORY m
  2528.                  m = minimum base memory required in K bytes
  2529.  
  2530.     Remarks:     This command is useful, but has its limitations.  It  only
  2531.                  tests the amount of base memory installed in the computer;
  2532.                  it doesn't measure free memory which will be different due
  2533.                  to  TSRs, DOS, FILES, BUFFERS, etc., and it  doesn't  test
  2534.                  for  expanded  or extended memory.  It  should  always  be
  2535.                  followed by either JUMP.YES or JUMP.NO.
  2536.  
  2537.     Example:     MEMORY 512
  2538.                  JUMP.NO NOT_ENOUGH_MEMORY
  2539.  
  2540.                  The  above  example tests to see if the  computer  has  at
  2541.                  least  512K of memory installed; if the computer has  less
  2542.                  it  jumps  to the label NOT_ENOUGH_MEMORY where  an  error
  2543.                  message is displayed.
  2544.  
  2545.     Errors:      None.
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.     ImagiSOFT, Inc.  Script File Commands                            Page 41
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.     MD Command
  2586.  
  2587.     Purpose:     Make a directory on the installation disk.
  2588.  
  2589.     Parameters:  MD d
  2590.                  d = the directory name.
  2591.  
  2592.     Remarks:     This  command  is similar to the MD command in  DOS.   You
  2593.                  should  generally  include  one or more  of  the  internal
  2594.                  variables  as part of the directory name when issuing  the
  2595.                  MD  in your script file.  See VARIABLES in APPENDIX B  for
  2596.                  more information.
  2597.  
  2598.                  You  may  want to follow the MD command with  a  JUMP.FAIL
  2599.                  command  just  in case there is something wrong  with  the
  2600.                  user's  installation disk.  The internal  "fail"  variable
  2601.                  will  get  set if the MD command fails because of  a  disk
  2602.                  error  or  if you try to make a  directory  which  already
  2603.                  exists.   If there is any possibility that  the  directory
  2604.                  already exists, use the EXIST command prior to issuing the
  2605.                  MD command.
  2606.  
  2607.     Example 2:   MD ~1~2\DATA
  2608.                  JUMP.FAIL INSTALL_FAILURE
  2609.  
  2610.                  This example creates a new directory called "DATA" beneath
  2611.                  the  main  directory the user installed the  software  to.
  2612.                  The variable ~1 is the drive the user installed to, and ~2
  2613.                  is the path the user installed to.
  2614.  
  2615.     Example 2:   EXIST ~1\CHINESE
  2616.                  JUMP.YES SKIP_MD
  2617.                  MD ~1\CHINESE
  2618.                  :SKIP_MD
  2619.  
  2620.                  This  example  first tests to see  whether  the  "CHINESE"
  2621.                  directory exists in the root directory of the installation
  2622.                  disk.  If it exists, JUMP.YES "jumps over" the MD command.
  2623.  
  2624.     Errors:      None.
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.     ImagiSOFT, Inc.  Script File Commands                            Page 42
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.     MOUSE Command
  2649.  
  2650.     Purpose:     Test  for  a minimum required Microsoft  mouse  compatible
  2651.                  driver version number.
  2652.  
  2653.     Parameters:  MOUSE v
  2654.                  v = minimum required MOUSE version.
  2655.  
  2656.     Remarks:     Some  programs make MOUSE specific calls which may not  be
  2657.                  available  on earlier versions of MOUSE.  If your  program
  2658.                  requires a certain MOUSE version use the MOUSE command  in
  2659.                  your  installation  script.  MOUSE should  be  immediately
  2660.                  followed by a JUMP.YES or JUMP.NO command.
  2661.  
  2662.     Example:     MOUSE 0.0
  2663.                  The above example tests for the existence of a mouse,  but
  2664.                  doesn't care which version is installed.  This is the most
  2665.                  common use of this command.  If the a Microsoft compatible
  2666.                  mouse is detected the internal flag will be set to  "Yes",
  2667.                  otherwise the flag will be set to "No".
  2668.  
  2669.                  The  next command should be JUMP.NO or JUMP.YES  depending
  2670.                  on the logic of your script file.
  2671.  
  2672.                  See  related commands JUMP.YES and JUMP.NO and  LABELS  in
  2673.                  APPENDIX B.
  2674.  
  2675.     Errors:      None.
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.     ImagiSOFT, Inc.  Script File Commands                            Page 43
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.     PATH Command
  2712.  
  2713.     Purpose:     Prompt  user for the DOS PATH they want to  install  their
  2714.                  software to.
  2715.  
  2716.     Parameters:  PATH p wx wy wc ic mx my
  2717.                  p  = the pre-stuffed path
  2718.                  wx = the x position of the upper left corner of the window
  2719.                  wy = the y position of the upper left corner of the window
  2720.                  wc = numeric window color (see color chart on page 12)
  2721.                  ic = numeric input color  (see color chart on page 12)
  2722.                  mx = error message window x position
  2723.                  my = error message window y position
  2724.                  mc = numeric error message color (see color chart page 12)
  2725.  
  2726.     Remarks:     24 characters are allowed at this prompt.  This command is
  2727.                  not  required, but is recommended for most  installations.
  2728.                  It should be preceded with the DRIVE command.  Issuance of
  2729.                  this command sets the variable ~2.
  2730.  
  2731.     Example:     PATH IMOVIE 12 10 31 15 32 14 79
  2732.                  IMOVIE = pre-stuff the input with IMOVIE as a default path
  2733.                  12 = locate window at 12 characters across
  2734.                  10 = locate window at 10 rows down
  2735.                  31 = blue background window with bright white border
  2736.                  15 = input on black background with bright white letters
  2737.                  32 = error message located at 32 characters across
  2738.                  14 = error message located at 14 rows down
  2739.                  79 = errors displayed in a red window with white letters
  2740.  
  2741.     Errors:      If  the  user backspaces over the default  path  name  and
  2742.                  presses  [Enter] (and thereby entering a null string)  the
  2743.                  error message
  2744.                       Please enter the directory name.
  2745.                  is displayed.
  2746.  
  2747.                  If  the  user enters invalid characters or for  any  other
  2748.                  reason the directory cannot be created the error message
  2749.                           The directory cannot be created.
  2750.                  is displayed.
  2751.  
  2752.                  If either of these errors occur, the user must re-enter  a
  2753.                  valid   PATH  name  or  press  the  [Esc]  key   to   exit
  2754.                  installation.
  2755.  
  2756.                  NOTE:  If the user types in a path name which is too long,
  2757.                  The  Finishing  Touch uses DOS  conventions--it  truncates
  2758.                  everything past the eighth character.  If the user forgets
  2759.                  to  put  a leading "\" or forgets to end with a  "\",  The
  2760.                  Finishing Touch provides it.
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.     ImagiSOFT, Inc.  Script File Commands                            Page 44
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.     PRINT Command
  2775.  
  2776.     Purpose:     Allow the user to print an ASCII file from LPT1.
  2777.  
  2778.     Parameters:  PRINT f
  2779.                  f  = file name
  2780.  
  2781.     Remarks:     The  PRINT  command gives you an easy way to  print  ASCII
  2782.                  files for the user such as READ.ME and AUTOEXEC.BAT.
  2783.  
  2784.                  PRINT sets the JUMP.FAIL flag, if it cannot print the file
  2785.                  to  LPT1.  You should display an error message  displaying
  2786.                  the following possible error conditions:
  2787.                    -- Printer is not turned on
  2788.                    -- Printer is out of paper
  2789.                    -- Printer not attached to LPT1 (parallel port 1)
  2790.                    -- Disk is defective
  2791.                    -- Disk drive is not ready
  2792.  
  2793.     Example:     :PRINT_ORDER_FORM          ' label to jump back to
  2794.                  PRINT ~0\ORDER.TXT         ' print file from install drive
  2795.                  JUMP.FAIL ERROR.MESSAGE    ' jump on fatal error
  2796.                  JUMP CONTINUE              ' print successful, skip next
  2797.                  :ERROR.MESSAGE             ' label for error condition
  2798.                  WINOPEN 0 0 31             ' open the following window
  2799.                  "Your printer is not responding.  Possible problems:"
  2800.                  "   -- Printer is not turned on"
  2801.                  "   -- Printer is out of paper"
  2802.                  "   -- Printer is not attached to LPT1 (parallel port 1)"
  2803.                  ""
  2804.                  "Do you want to try to print again  (Y or N)?"
  2805.                  ASK 53 20                  ' prompt for Y or N key
  2806.                  WINCLOSE                   ' close the window
  2807.                  JUMP.YES PRINT_ORDER_FORM  ' y key pressed, print
  2808.                  :CONTINUE                  ' done with printing
  2809.  
  2810.                  This  example shows how to use the PRINT command, and  how
  2811.                  to write an error trap for printer failure.
  2812.  
  2813.     Errors:      None.
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.     ImagiSOFT, Inc.  Script File Commands                            Page 45
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.     RD Command
  2838.  
  2839.     Purpose:     Remove a directory.
  2840.  
  2841.     Parameters:  RD d
  2842.                  d = the directory name.
  2843.  
  2844.     Remarks:     This  command  is similar to the RD command in  DOS.   You
  2845.                  should  generally  include  one or more  of  the  internal
  2846.                  variables  as part of the directory name when issuing  the
  2847.                  RD  in your script file.  See VARIABLES in APPENDIX B  for
  2848.                  more information.
  2849.  
  2850.                  RD  is  usually accompanied by DELETE to  avoid  an  error
  2851.                  which  results  from trying to remove  a  directory  which
  2852.                  contains files.
  2853.  
  2854.                  You  may  want to follow the RD command with  a  JUMP.FAIL
  2855.                  command  just  in case there is something wrong  with  the
  2856.                  user's  installation disk.  The internal  "fail"  variable
  2857.                  will  get  set if the RD command fails because of  a  disk
  2858.                  error, if you try remove a directory which does not exist,
  2859.                  or  remove a directory which is not empty .  If  there  is
  2860.                  any possibility that the directory does not exist, use the
  2861.                  EXIST command prior to issuing the RD command.
  2862.  
  2863.     Example:     DELETE ~1~2\DATA\*.* 0 0 31
  2864.                  RD ~1~2\DATA
  2865.                  JUMP.FAIL INSTALL_FAILURE
  2866.  
  2867.                  This  example deletes all the files in a directory  called
  2868.                  "DATA"  beneath the main directory the user installed  the
  2869.                  software to, then removes that directory.  The variable ~1
  2870.                  is the drive the user installed to, and ~2 is the path the
  2871.                  user installed to.
  2872.  
  2873.     Example 2:   EXIST ~1\CHINESE
  2874.                  JUMP.NO SKIP_RD
  2875.                  DELETE ~1\CHINESE\*.* 0 0 31
  2876.                  RD ~1\CHINESE
  2877.                  :SKIP_RD
  2878.  
  2879.                  This  example  first tests to see  whether  the  "CHINESE"
  2880.                  directory exists in the root directory of the installation
  2881.                  disk. If the directory doesn't exist, JUMP.NO "jumps over"
  2882.                  the  RD command to avoid setting the internal fatal  error
  2883.                  variable.
  2884.  
  2885.     Errors:      None.
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.     ImagiSOFT, Inc.  Script File Commands                            Page 46
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.     REBOOT Command
  2901.  
  2902.     Purpose:     Instruct the computer to perform a "warm boot".
  2903.  
  2904.     Parameters:  REBOOT
  2905.  
  2906.     Remarks:     If you use REBOOT it should obviously be the last  command
  2907.                  in your script file.  It is equivalent to instructing  the
  2908.                  user to press the CTRL ALT and DEL keys simultaneously.
  2909.  
  2910.                  This  command is only generally only recommended  if  your
  2911.                  script  file  modifies the files in CONFIG.SYS  using  the
  2912.                  SET.FILES  command.   It sometimes makes sense  after  the
  2913.                  script file has changed AUTOEXEC.BAT too.
  2914.  
  2915.     Example:     WINOPEN 0 0 79
  2916.                  "This program may have increased the number of files"
  2917.                  "in your CONFIG.SYS file,  and therefore, to prevent"
  2918.                  "errors, it is necessary to REBOOT YOUR COMPUTER."
  2919.                  ""
  2920.                  "To run the TSA software, enter the command"
  2921.                  "   TSA"
  2922.                  "after you turn your computer on."
  2923.                  ""
  2924.                  ""
  2925.                  "Press [Enter] to REBOOT your computer."
  2926.                  WAIT 16 63
  2927.                  REBOOT
  2928.  
  2929.                  As you can see from the above example, it is always a good
  2930.                  idea to inform the user that you are about to reboot their
  2931.                  computer and why.
  2932.  
  2933.     Errors:      None.
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.     ImagiSOFT, Inc.  Script File Commands                            Page 47
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.     RUN Command
  2964.  
  2965.     Purpose:     To run a DOS command, utility or program without returning
  2966.                  to the installation script.
  2967.  
  2968.     Parameters:  RUN p
  2969.                  p = the name of the program you want to run.
  2970.  
  2971.     Remarks:     RUN's most common function is to run the program you  just
  2972.                  installed,  but any program or batch file can be run  with
  2973.                  the RUN command.
  2974.  
  2975.     Example:     RUN ~1~2\MYPROG
  2976.  
  2977.                  The  above  example  changes to  the  installation  drive,
  2978.                  changes  to  the installation directory,  then  fills  the
  2979.                  keyboard buffer with the command MYPROG then exits to DOS.
  2980.                  See VARIABLES in APPENDIX B for more information.
  2981.  
  2982.     Errors:      None.
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.     ImagiSOFT, Inc.  Script File Commands                            Page 48
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.     SCRIPT Command
  3027.  
  3028.     Purpose:     Load and run a different installation script.
  3029.  
  3030.     Parameters:  SCRIPT f
  3031.                  f = the file name.
  3032.  
  3033.     Remarks:     Each script file is limited to 400 lines.  We imposed this
  3034.                  limit for the following reasons:
  3035.  
  3036.                  - long script files take a long time initially to load
  3037.  
  3038.                  - we  didn't  want  The Finishing Touch to  take  so  much
  3039.                  memory the SHELL command wouldn't work.
  3040.  
  3041.                  - script  files for large programs are usually  easier  to
  3042.                  debug  and  work  with if they  are  broken  into  several
  3043.                  smaller script files rather than one long one.
  3044.  
  3045.     Example:     VIDEO EGA                   ' check for EGA or better
  3046.                  JUMP.NO MCGA_INSTALL        ' no ega, install mcga
  3047.                  EXIST EGA.FIL               ' check for EGA.FIL
  3048.                  JUMP.YES LOAD.EGA           ' found, don't prompt
  3049.                  DISK 2 EGA.FIL 0 0 31       ' prompt to insert disk 2
  3050.                  :LOAD.EGA                   ' label for jump command
  3051.                  SCRIPT EGA.FIL              ' load and process EGA script
  3052.  
  3053.                  In  the  above  example, a game company  has  a  different
  3054.                  installation script for EGA, MCGA, and CGA monitors.   The
  3055.                  above  example shows how good error checking and  multiple
  3056.                  script files can make The Finishing Touch an elegant, easy
  3057.                  to use, and truly useful tool!
  3058.  
  3059.     Errors:      None.
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.     ImagiSOFT, Inc.  Script File Commands                            Page 49
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.     SET.FILES Command
  3090.  
  3091.     Purpose:     Insure that the number of files in the FILES statement  of
  3092.                  CONFIG.SYS  is  at  least equal  to  a  specified  minimum
  3093.                  number.
  3094.  
  3095.     Parameters:  SET.FILES n
  3096.                  n = the minimum number of files
  3097.  
  3098.     Remarks:     If the FILES statement exists in CONFIG.SYS, the SET.FILES
  3099.                  will  evaluate the number of files in the  existing  FILES
  3100.                  statement.   If  the current number of files  exceeds  the
  3101.                  number  specified in the SET.FILES command no change  will
  3102.                  be  made to CONFIG.SYS.  However, if the  FILES  statement
  3103.                  does  not  exist or the number of files is less  than  the
  3104.                  number specified in the SET.FILES command, SET.FILES  will
  3105.                  change  the  FILES statement in CONFIG.SYS to  the  number
  3106.                  specified in the SET.FILES command.
  3107.  
  3108.                  SET.FILES is generally followed by a JUMP.FAIL command  in
  3109.                  case  a  disk  error  occurs.   See  JUMP.FAIL  for   more
  3110.                  information.
  3111.  
  3112.                  SET.FILES  is usually followed by REBOOT.  See the  REBOOT
  3113.                  command for a detailed example.
  3114.  
  3115.     Example:     SET.FILES 16
  3116.                  JUMP.FAIL ABORT_INSTALL
  3117.  
  3118.                  This example makes sure the FILES statement in  CONFIG.SYS
  3119.                  is  at  least equal to 16.  If, for  example,  the  user's
  3120.                  CONFIG.SYS  included the statement FILES = 32,  no  change
  3121.                  would be made to the user's CONFIG.SYS file.  On the other
  3122.                  hand,  if  there  was  no  FILES  command  in  the  user's
  3123.                  CONFIG.SYS, the statement FILES = 16 would be added.
  3124.  
  3125.     Errors:      None.
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.     ImagiSOFT, Inc.  Script File Commands                            Page 50
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.     SET.PATH Command
  3153.  
  3154.     Purpose:     Add   a   directory  name  in  the   PATH   statement   of
  3155.                  AUTOEXEC.BAT.
  3156.  
  3157.     Parameters:  SET.PATH d
  3158.                  d = directory name to add to the PATH statement
  3159.  
  3160.     Remarks:     If the PATH statement exists in AUTOEXEC.BAT, the SET.PATH
  3161.                  will  add the directory at the end of the PATH  statement.
  3162.                  If the PATH statement does not exist, SET.PATH will create
  3163.                  a  new  PATH  statement  in  AUTOEXEC.BAT  containing  the
  3164.                  specified directory name.  The most common use of SET.PATH
  3165.                  is  to  insert the drive and path where the  software  was
  3166.                  installed  using  the internal variables ~1 and  ~2.   See
  3167.                  VARIABLES in APPENDIX B for details.
  3168.  
  3169.                  SET.PATH  is generally followed by a JUMP.FAIL command  in
  3170.                  case  a  disk  error  occurs.   See  JUMP.FAIL  for   more
  3171.                  information.
  3172.  
  3173.                  SET.PATH is also sometimes is followed by REBOOT.
  3174.  
  3175.     Example:     SET.PATH ~1~2
  3176.                  JUMP.FAIL ABORT_INSTALL
  3177.  
  3178.                  The example adds the drive and path where the software was
  3179.                  installed to the PATH statement in AUTOEXEC.BAT.
  3180.  
  3181.     Errors:      None.
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.     ImagiSOFT, Inc.  Script File Commands                            Page 51
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.     SHADOW Command
  3216.  
  3217.     Purpose:     To turn shadowed windows on or off.
  3218.  
  3219.     Parameters:  SHADOW o
  3220.                  o = either on or off.
  3221.  
  3222.     Remarks:     The  default  is  to have shadowed  windows  "off".   This
  3223.                  command can be issued over and over again.
  3224.  
  3225.     Example 1:   SHADOW ON
  3226.  
  3227.                  The  above example adds "depth" to the screen display  and
  3228.                  draws the users eye to the current window.
  3229.  
  3230.     Example 2:   SHADOW OFF
  3231.  
  3232.                  You  should  turn  shadowed windows  "off"  when  you  are
  3233.                  opening  windows on top of one another.  See  the  example
  3234.                  given for the EXIST command for a detailed explanation.
  3235.  
  3236.     Errors:      None.
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.     ImagiSOFT, Inc.  Script File Commands                            Page 52
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.     SHELL Command
  3279.  
  3280.     Purpose:     To  run a DOS command, utility or program then  return  to
  3281.                  the installation script.
  3282.  
  3283.     Parameters:  SHELL
  3284.                  "command 1"
  3285.                  "command 2"
  3286.  
  3287.     Remarks:     The  shell  command clears the screen,  "shells"  to  DOS,
  3288.                  loads  another copy of COMMAND.COM into memory, then  runs
  3289.                  the  list  of  DOS commands, returns,  then  restores  the
  3290.                  screen.  This command is supported because it is the  only
  3291.                  way to add total flexibility to The Finishing Touch.  Make
  3292.                  sure the utilities and commands that you "shell" require a
  3293.                  small  amount of memory or you may have trouble with  this
  3294.                  command.
  3295.  
  3296.     Example:     SHELL
  3297.                  "~1~2\MYUTIL"
  3298.  
  3299.                  This   example  clears  the  screen,  runs   the   program
  3300.                  MYUTIL.EXE  which was installed in the installation  drive
  3301.                  and  path  of  the  user's  computer  (see  VARIABLES   in
  3302.                  APPENDIX B), then returns.
  3303.  
  3304.     Errors:      None.
  3305.  
  3306.  
  3307.  
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.     ImagiSOFT, Inc.  Script File Commands                            Page 53
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.     SPACE Command
  3342.  
  3343.     Purpose:     To tell INSTALL the minimum amount of disk space which  is
  3344.                  required by the software being installed.
  3345.  
  3346.     Parameters:  SPACE r
  3347.                  r = minimum required disk space in K bytes
  3348.  
  3349.     Remarks:     The  SPACE  command  should  precede  the  DRIVE  command.
  3350.                  Remember  that the minimum space required is not  the  sum
  3351.                  total  of the file sizes reported by DOS, it depends  upon
  3352.                  the  hard  drive's minimum allocation unit  (usually  2K).
  3353.                  For  example,  100 10 byte files doesn't  fill  only  1000
  3354.                  bytes  of  disk  space, it fills  200,000  bytes  on  most
  3355.                  systems.   For  an accurate measure of the  required  disk
  3356.                  space use Peter Norton's FI utility on a large hard drive.
  3357.                  It is a good practice to use a liberal SPACE requirement--
  3358.                  especially if your software creates data files after it is
  3359.                  installed.
  3360.  
  3361.     Example:     SPACE 1024
  3362.                  This  would indicate that at least a megabyte is  required
  3363.                  on  the  destination  disk or an  error  message  will  be
  3364.                  returned when the DRIVE command is issued.
  3365.  
  3366.     Errors:      None reported when this call is issued; insufficient  disk
  3367.                  space is reported after the DRIVE command is issued.
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.     ImagiSOFT, Inc.  Script File Commands                            Page 54
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.     TELESCOPE Command
  3405.  
  3406.     Purpose:     To turn telescoping (or exploding) windows on or off.
  3407.  
  3408.     Parameters:  TELESCOPE o
  3409.                  o = either on or off.
  3410.  
  3411.     Remarks:     The  default  is to have telescoping windows  "on".   This
  3412.                  command can be issued as often as is needed.
  3413.  
  3414.     Example 1:   TELESCOPE ON
  3415.  
  3416.                  The  above example gives windows a little more pizazz  and
  3417.                  draws the users eye to the current window.
  3418.  
  3419.     Example 2:   TELESCOPE OFF
  3420.  
  3421.                  Turning  telescoping  windows  "off"  makes  them   appear
  3422.                  instantly on the screen, and is especially useful when you
  3423.                  are  opening more than one window at a time or windows  on
  3424.                  top of one another.
  3425.  
  3426.     Errors:      None.
  3427.  
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.     ImagiSOFT, Inc.  Script File Commands                            Page 55
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.     UNPACK Command
  3468.  
  3469.     Purpose:     Unpack a compressed file and copy the contents to the hard
  3470.                  drive  in  the drive and path returned from  the  commands
  3471.                  DRIVE and PATH.
  3472.  
  3473.     Parameters:  UNPACK f wx wy wc mx my mc
  3474.                  f  = file name
  3475.                  wx = the x position of the upper left corner of the window
  3476.                  wy = the y position of the upper left corner of the window
  3477.                  wc = numeric window color (see color chart on page 12)
  3478.                  mx = error message window x position
  3479.                  my = error message window y position
  3480.                  mc = numeric error message color (see color chart page 12)
  3481.  
  3482.     Remarks:     If  UNPACK is not preceded by the DRIVE and PATH  commands
  3483.                  The  Finishing  Touch will assume drive C:  and  the  PATH
  3484.                  hard-coded into your PACKER file. (The ImagiMOVIE Guide is
  3485.                  a  legitimate  example  of  using  a  hardcoded  PATH   as
  3486.                  discussed  previously in this documentation, but  this  is
  3487.                  the exception rather than the rule).
  3488.  
  3489.                  UNPACK  always "unpacks" from the installation drive  (~0)
  3490.                  to the destination drive and path (~1~2).  You cannot  use
  3491.                  variables with the UNPACK command.
  3492.  
  3493.                  It  is valid to have more than one UNPACK command in  your
  3494.                  script  if your program has several modules  or  different
  3495.                  configuration  options.  See the ASK command  for  related
  3496.                  information.
  3497.  
  3498.     Example:     UNPACK IMOVIE.PAK 24 10 31 32 14 79
  3499.                  IMOVIE.PAK = the name of the PACKED file which contains
  3500.                               the ImagiMOVIE Guide System. This filename
  3501.                               can be any name you want.
  3502.                  24 = locate window at 12 characters across
  3503.                  10 = locate window at 10 rows down
  3504.                  31 = blue background window with bright white border
  3505.                  32 = prompt/error message located at 32 characters across
  3506.                  14 = prompt/error message located at 14 rows down
  3507.                  79 = prompt/errors displayed in a red and white window
  3508.  
  3509.     Errors:      UNPACK  does  a  32 bit CRC check on each file  as  it  is
  3510.                  uncompressed.   If the CRC check fails or there is a  disk
  3511.                  error the user will see the message
  3512.                       Cannot unpack files.
  3513.                  displayed  on  their screen.  This means the  user's  disk
  3514.                  media  is  bad,  their disk drives are out  of  alignment,
  3515.                  their  disk is full, or that they opened the floppy  drive
  3516.                  before  being  prompted to insert the next  disk.   If  an
  3517.                  error occurs the internal "fail" variable will be set.  It
  3518.                  a good idea to follow the UNPACK command with a  JUMP.FAIL
  3519.                  command.  See the sample install script on page 14 for  an
  3520.                  example.
  3521.  
  3522.  
  3523.     ImagiSOFT, Inc.  Script File Commands                            Page 56
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.     UNPACK Command  (Continued)
  3531.  
  3532.     Prompt:      UNPACK  knows which is the next disk in the set  and  will
  3533.                  display the prompt
  3534.                       Please insert disk <Number>.
  3535.                  in a message window at the appropriate time.
  3536.  
  3537.                  This  is  true even if you have prompted for  a  different
  3538.                  disk  earlier.  For example, the installation  script  for
  3539.                  the  word processor software you are sending  out  UNPACKs
  3540.                  WP.PAK  on disk 1 and 2.  You complete WP.PAK and ASK  the
  3541.                  user if they would like to install "magic fonts" which are
  3542.                  contained  on  disk 2, 3, and 4.  They say "no"  and  your
  3543.                  script  uses the DISK command to prompt for disk  4.   You
  3544.                  issue  another  UNPACK  command and start  to  unpack  the
  3545.                  dictionary  files.   UNPACK  will know when  it  needs  to
  3546.                  prompt for the next disk and that, in this case, it should
  3547.                  ask for disk 5.
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.  
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.     ImagiSOFT, Inc.  Script File Commands                            Page 57
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.  
  3593.     VIDEO Command
  3594.  
  3595.     Purpose:     To check for a minimum required monitor type, either  CGA,
  3596.                  EGA, VGA, or MCGA.
  3597.  
  3598.     Parameters:  VIDEO m
  3599.                  m  = CGA, EGA, VGA, or MCGA
  3600.  
  3601.     Remarks:     This  command should be one of the first commands in  your
  3602.                  script  file,  and  should be followed  immediately  by  a
  3603.                  JUMP.NO  command.   Many  software  programs,   especially
  3604.                  graphics-oriented systems require minimum screen hardware.
  3605.                  Proper  use of the VIDEO command followed by  the  JUMP.NO
  3606.                  command  will  help  the  user  configure  their  computer
  3607.                  properly.   See JUMP.YES and JUMP.NO commands  and  sample
  3608.                  script files for examples of how to use these commands  to
  3609.                  their full potential.
  3610.  
  3611.     Example:     VIDEO EGA
  3612.                  Which  tests  for  the existence of  an  EGA  monitor  (or
  3613.                  better).   If  it is found it sets the  internal  flag  to
  3614.                  "Yes", if not, the internal flag is set to "No".
  3615.  
  3616.     Errors:      None.
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.     ImagiSOFT, Inc.  Script File Commands                            Page 58
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.     VIEW Command
  3657.  
  3658.     Purpose:     Allow the user to view an ASCII file.
  3659.  
  3660.     Parameters:  VIEW f c1 c2
  3661.                  f  = file name
  3662.                  c1 = heading color numeric value   (see color chart)
  3663.                  c2 = file text color numeric value (see color chart)
  3664.  
  3665.     Remarks:     The  VIEW command will allow the user to view  most  ASCII
  3666.                  files.  A file which is longer than available free  memory
  3667.                  (about 100 - 200K) will not be loaded.
  3668.  
  3669.                  This  command is useful when you have modified the  user's
  3670.                  AUTOEXEC.BAT  or CONFIG.SYS and you want the  display  the
  3671.                  new file on the screen.
  3672.  
  3673.                  VIEW  displays  the file in 25 line mode.   The  top  line
  3674.                  gives  the  user information about the  file,  it's  name,
  3675.                  date,  time,  number of lines and file length.   The  25th
  3676.                  line  informs the user which keys are valid:  the  arrows,
  3677.                  PgUp, PgDn, and [Enter] or [Esc] to view the next file.
  3678.  
  3679.                  VIEW  sets  the  JUMP.FAIL  flag,  but  it  usually  isn't
  3680.                  necessary to error trap after a VIEW statement.
  3681.  
  3682.     Example:     VIEW ~3\AUTOEXEC.BAT 79 31
  3683.  
  3684.     Errors:      None.
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.     ImagiSOFT, Inc.  Script File Commands                            Page 59
  3713.  
  3714.  
  3715.  
  3716.  
  3717.  
  3718.  
  3719.     WAIT Command
  3720.  
  3721.     Purpose:     Wait  for the [Enter] key, usually so the user  can  read,
  3722.                  and  respond  to  a message in a window  by  pressing  the
  3723.                  [Enter] key.
  3724.  
  3725.     Parameters:  WAIT x y
  3726.                  x = x position of the cursor
  3727.                  y = y position of the cursor
  3728.  
  3729.     Remarks:     This command should generally follow the WINOPEN command.
  3730.  
  3731.     Example:     WAIT 50 17
  3732.                  This  example will locate the cursor 50 characters  across
  3733.                  and 17 rows down will wait for the user to hit the [Enter]
  3734.                  key.
  3735.  
  3736.     Errors:      None.
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775.     ImagiSOFT, Inc.  Script File Commands                            Page 60
  3776.  
  3777.  
  3778.  
  3779.  
  3780.  
  3781.  
  3782.     WINCLOSE Command
  3783.  
  3784.     Purpose:     To close the last window opened with WINOPEN.
  3785.  
  3786.     Parameters:  WINCLOSE
  3787.  
  3788.     Remarks:     WINCLOSE  closes  the  last window  opened.   Windows  are
  3789.                  nested,  so that if window 1, window 2, and window 3  were
  3790.                  open,  WINCLOSE would close window 3, then window  2,  and
  3791.                  lastly window 1.  See the WINOPEN command.
  3792.  
  3793.                  Note:   If  WINCLOSE is issued without being  preceded  by
  3794.                  WINOPEN,  a  fatal error will occur and  INSTALL.EXE  will
  3795.                  drop to DOS.  As with all programming languages, make sure
  3796.                  you  test  all  possibilities  before  distributing   your
  3797.                  program.
  3798.  
  3799.     Example:     WINCLOSE
  3800.  
  3801.     Errors:      None.
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837.  
  3838.     ImagiSOFT, Inc.  Script File Commands                            Page 61
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.  
  3845.     WINOPEN Command
  3846.  
  3847.     Purpose:     WINOPEN  opens  "windows" to display  messages  from  your
  3848.                  script file to the user.
  3849.  
  3850.     Parameters:  WINOPEN x y c
  3851.                  "The next lines contain the contents"
  3852.                  "of the windows you want to display."
  3853.                  x = the x position of the upper left corner of the window
  3854.                  y = the y position of the upper left corner of the window
  3855.                  c = numeric color value between 0 - 255 (see color chart)
  3856.                  These  parameters are followed by a series  of  successive
  3857.                  quoted strings.
  3858.  
  3859.     Remarks:     The  width of the window is determined by amount of  space
  3860.                  between the quotes of the longest line.  The height of the
  3861.                  window  is determined by the number of  successive  quoted
  3862.                  strings you put in the script file.
  3863.  
  3864.                  You can have up to 20 windows open at the same time.   The
  3865.                  last  window opened is closed with the  WINCLOSE  command.
  3866.                  Windows  are  nested, so that if window 1, window  2,  and
  3867.                  window 3 were open, WINCLOSE would close window 3.
  3868.  
  3869.                  All windows are surrounded by a single line.  WINOPEN adds
  3870.                  a space to the right and left edges of the window so  that
  3871.                  visually  the  line appears evenly  spaced.   The  maximum
  3872.                  number of characters that will fit in a window is 76.   To
  3873.                  center  the window on the screen, enter "0" in the x or  y
  3874.                  coordinate, or both.
  3875.  
  3876.                  WINOPEN is often followed by the WAIT and ASK commands.
  3877.  
  3878.     Examples:    WINOPEN 18 2 95
  3879.                  "            ImagiSOFT, Inc."
  3880.                  "Where Imagination Brings Software to Life"
  3881.                  ""
  3882.                  "      ImagiMOVIE GUIDE Installation"
  3883.  
  3884.                  This  example opens a magenta window with  high  intensity
  3885.                  white  letters and border.  The upper left corner  of  the
  3886.                  window will be placed 18 columns across and 2 rows down.
  3887.  
  3888.                  WINOPEN 0 2 31
  3889.                  "Installing the ImagiMOVIE GUIDE to ~1~2 . . ."
  3890.  
  3891.                  This  example  opens  a blue and  white  window  which  is
  3892.                  located  2  rows  down and centered on  the  screen.   The
  3893.                  variables  ~1  and ~2 represent the drive and  path.   See
  3894.                  VARIABLES in APPENDIX B for details.
  3895.  
  3896.     Errors:      If you make your window too wide or two long INSTALL  will
  3897.                  drop to DOS and display "Window too large on line xx".
  3898.  
  3899.  
  3900.  
  3901.     ImagiSOFT, Inc.  Script File Commands                            Page 62
  3902.  
  3903.  
  3904.  
  3905.  
  3906.  
  3907.  
  3908.                                   APPENDIX B
  3909.  
  3910.                      OTHER FEATURES OF THE FINISHING TOUCH
  3911.  
  3912.  
  3913.     RENAMING INSTALL.EXE
  3914.     ~~~~~~~~~~~~~~~~~~~~
  3915.     INSTALL.EXE always loads the first script file with the same name  that
  3916.     it  is named plus the extension ".FIL", so the first thing  INSTALL.EXE
  3917.     tries  to  do  is load the script file INSTALL.FIL  into  memory.   If,
  3918.     you  want to use INSTALL.EXE as an update program, simply rename it  to
  3919.     UPDATE.EXE and name your script file UPDATE.FIL.  If you are writing  a
  3920.     script file in another language, rename INSTALL.EXE to a suitable  file
  3921.     name.  For example, rename INSTALL.EXE to INSTALE.EXE for a script file
  3922.     written in Spanish.
  3923.  
  3924.  
  3925.     LABELS
  3926.     ~~~~~~
  3927.     Labels  are similar to line numbers in BASIC; they give  INSTALL.EXE  a
  3928.     place  to  "jump" to with the JUMP, JUMP.NO,  JUMP.YES,  and  JUMP.FAIL
  3929.     commands.  Labels have the following attributes:
  3930.  
  3931.        -- They always begin with a colon
  3932.        -- Labels must reside on a line all by themselves
  3933.        -- Labels cannot exceed 32 characters in length
  3934.        -- They can use any ASCII character greater than 32 ("space")
  3935.  
  3936.     Examples of Valid Labels:
  3937.        :EXIT_TO_DOS
  3938.        :ExitToDOS
  3939.        :Exit.To.DOS
  3940.  
  3941.     Examples of Invalid Labels:
  3942.        EXIT_TO_DOS
  3943.        :EXIT TO DOS
  3944.  
  3945.     See  the documentation in APPENDIX A for the JUMP,  JUMP.NO,  JUMP.YES,
  3946.     and  JUMP.FAIL  commands  for detailed examples on how  to  use  labels
  3947.     properly.
  3948.  
  3949.  
  3950.     INTERNAL VARIABLES
  3951.     ~~~~~~~~~~~~~~~~~~
  3952.     INSTALL.EXE keeps track of four internal variables which may be used in
  3953.     your installation script:
  3954.  
  3955.        ~0 is the drive and path where the software is being installed from,
  3956.           sometimes  called the "source" directory.  This is usually A:  or
  3957.           B:,  but  INSTALL.EXE and its related files can  just  as  easily
  3958.           reside on a hard drive--especially if those files were downloaded
  3959.           from  a BBS, in which case ~0 might be C:\DOWNLOAD  for  example.
  3960.           COPY is the most likely command to use with ~0.
  3961.  
  3962.  
  3963.  
  3964.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 63
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.        ~1 is the drive letter that you are installing to, for example,  C:.
  3972.           This variable is necessary to create a file in the root directory
  3973.           of  the  user's installation drive (see the FILE command  for  an
  3974.           example of creating a batch file).  ~1 is also needed to create a
  3975.           subdirectory  on  the user's installation drive (see  MD  for  an
  3976.           example).   This  variable is set by the DRIVE  command.   If  no
  3977.           DRIVE command is issued in the script file ~1 will be set to C:.
  3978.  
  3979.        ~2 is the path  where the software is installed, generally  selected
  3980.           by the user with the PATH command.  If no PATH command is  issued
  3981.           in the script file ~2 will be set to the root.
  3982.  
  3983.           ~2 is often combined with the variable ~1.  For example:
  3984.  
  3985.               COPY ~1~2\CONTROL.LCD ~1~2\CONTROL.FIL 0 0 31
  3986.  
  3987.           copies the file CONTROL.LCD on top of the file CONTROL.FIL in the
  3988.           directory where the user installed their software.
  3989.  
  3990.  
  3991.        ~3 is the boot drive and path of the user's computer, as  determined
  3992.           by  the location COMMAND.COM, and will usually be C:\.   This  is
  3993.           necessary  when  you  are changing  the  user's  AUTOEXEC.BAT  or
  3994.           CONFIG.SYS files.  For example:
  3995.  
  3996.               COPY ~3\AUTOEXEC.BAT ~3\AUTOEXEC.BAK 0 0 31
  3997.  
  3998.           which makes a backup copy of AUTOEXEC.BAT, which is always a good
  3999.           idea before modifying it with the FILE command.
  4000.  
  4001.        Yes/No is set by the ASK, CPU, EXIST, MOUSE, and VIDEO commands  and
  4002.               remains  set  until one of these commands  is  issued.   This
  4003.               variable  allows  INSTALL.EXE to  perform  conditional  jumps
  4004.               based on the information passed from above commands.  See the
  4005.               JUMP.NO and JUMP.YES commands in APPENDIX A.
  4006.  
  4007.        FAIL is set by the COPY, DELETE, EXIST, FILE.DATE, FILE.SIZE,  FILE,
  4008.             MD,  RD,  SET.FILES, SET.PATH, VIEW, and UNPACK commands  if  a
  4009.             disk  error occurs.  Disk errors include, disk not ready,  disk
  4010.             full,  sector  not found, etc.  See the  JUMP.FAIL  command  in
  4011.             APPENDIX A for details.
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 64
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.  
  4034.     COMMENTS
  4035.     ~~~~~~~~
  4036.     Just  like any other programming language, it is always a good idea  to
  4037.     comment your script file.  Comments begin with the apostrophe character
  4038.     unless  the  apostrophe  is inside a quoted string.   Empty  lines  are
  4039.     ignored.
  4040.  
  4041.     Example:
  4042.  
  4043.     ' this is an example of a commented line.  It will be ignored by
  4044.     ' INSTALL.EXE because it begins with an apostrophe character.  The
  4045.     ' next line will also be ignored because it is blank.
  4046.  
  4047.     ' The next line is a valid line:
  4048.     BACKGROUND 63                          ' cyan background
  4049.  
  4050.     ' Everything after the apostrophe will be ignored.
  4051.  
  4052.  
  4053.     HIDING WINDOWS
  4054.     ~~~~~~~~~~~~~~
  4055.     There will be times when you don't want a window to be displayed on the
  4056.     screen.   The  COPY, DELETE, and PATH commands each  display  a  window
  4057.     which you may want hidden from the end user.  You can "hide" windows by
  4058.     making  them  the  same  color as the background  and  by  issuing  the
  4059.     SHADOW OFF command.
  4060.  
  4061.     Example 1:
  4062.  
  4063.     BACKGROUND 63                   ' cyan background
  4064.     TELESCOPE ON                    ' draw "exploding" windows
  4065.     SHADOW ON                       ' display shadows
  4066.     WINOPEN 18 2 95
  4067.  
  4068.     "            ImagiSOFT, Inc."
  4069.     "Where Imagination Brings Software to Life"
  4070.     ""
  4071.     "      Test Installation Script File"
  4072.     WAIT 56 6
  4073.  
  4074.     TELESCOPE OFF                   ' draw windows quickly
  4075.     SHADOW OFF                      ' no shadow
  4076.     DELETE *.BAK 1 24 51            ' cyan on cyan color hidden in corner
  4077.     WINCLOSE                        ' close ImagiSOFT window
  4078.     WINOPEN 0 0 31                  ' open tiny, centered window
  4079.     "PRESS ANY KEY TO QUIT."
  4080.     WAIT 51 13
  4081.  
  4082.     The example above uses a background of 63 (cyan) then uses color 51  on
  4083.     the DELETE command (cyan window with cyan letters) located in the lower
  4084.     left hand corner (column 1, row 24).  This way the user never sees  the
  4085.     message "Deleting <FILENAME>".
  4086.  
  4087.  
  4088.  
  4089.  
  4090.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 65
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.     HIDING WINDOWS  (Continued)
  4098.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4099.     Example 2:
  4100.  
  4101.     BACKGROUND 63
  4102.     :WINDOWS_PROMPT                 ' label for jump command
  4103.     TELESCOPE OFF                   ' draw windows quickly
  4104.     SHADOW ON                       ' shadow the window below
  4105.     WINOPEN 7 4 31                  ' window color: blue w/ white letters
  4106.     ""
  4107.     "  Tetris for Windows will be installed into the GAMES directory  "
  4108.     "  beneath the directory where WINDOWS resides."
  4109.     "  Please enter the location of your WINDOWS directory:"
  4110.     ""
  4111.     ""
  4112.     ""
  4113.     ""
  4114.     ""
  4115.     SHADOW OFF                      ' don't shadow path window
  4116.     PATH \WINDOWS 8 9 17 15 32 14 79 ' draw color 17 (blue on blue)
  4117.     EXIST ~1~2\WIN.COM              ' test for proper entry
  4118.     JUMP.NO WINDOWS_PROMPT          ' wrong: jump back
  4119.  
  4120.     The  above example shows how to write your own prompt for a  path  name
  4121.     instead of the prompt "Install to drive C: in directory" which comes up
  4122.     with  the PATH command.  This was done by opening a large  blue  window
  4123.     with  white letters (color 31), turning shadows off, then  issuing  the
  4124.     PATH command with a blue window with blue letters (color 17).
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.    ImagiSOFT, Inc.  Other Features of The Finishing Touch           Page 66
  4154.  
  4155.                                 ImagiSOFT, Inc.
  4156.                               THE FINISHING TOUCH
  4157.                       THE PROFESSIONAL SOFTWARE INSTALLER
  4158.  
  4159.                                REGISTRATION FORM
  4160.  
  4161.          Quantity   Description                   Price       Total
  4162.          -------------------------------------------------------------
  4163.          |      | The Finishing Touch           |  $69.95  |         |
  4164.          -------------------------------------------------------------
  4165.          |      | Sales Tax (NM Residents Only) |    4.07  |         |
  4166.          -------------------------------------------------------------
  4167.          |   1  | Extra Shipping Outside USA    |    3.00  |         |
  4168.          -------------------------------------------------------------
  4169.          |   1  | Shipping and Handling         |    3.00  |    3.00 |
  4170.          -------------------------------------------------------------
  4171.                                      TOTAL AMOUNT ENCLOSED |         |
  4172.                                                            -----------
  4173.          Make checks payable to ImagiSOFT, Inc.
  4174.          Checks  must be drawn on a US bank.  If ordering outside  the
  4175.          United States, please use a credit card, send a postal  money
  4176.          order payable in US Funds, or send cash in any currency.
  4177.  
  4178.          [ ] Check   [ ] VISA   [ ] Master Card   [ ] American Express
  4179.  
  4180.          Card Number:  _____ _____ _____ _____   Exp. Date:  _________
  4181.  
  4182.  
  4183.          Name: _______________________________________________________
  4184.  
  4185.          Company Name: _______________________________________________
  4186.  
  4187.          Address: ____________________________________________________
  4188.  
  4189.          City / State: _______________________________________________
  4190.  
  4191.          Country / Zip / Postal Code: ________________________________
  4192.  
  4193.          Telephone Number: ___________________________________________
  4194.  
  4195.          FAX Number: _________________________________________________
  4196.  
  4197.          CompuServe ID Number: _______________________________________
  4198.  
  4199.          I received The Finishing Touch from:
  4200.          Name of BBS, CompuServe forum, etc. _________________________
  4201.  
  4202.          "DISKLESS" UPDATE OPTION
  4203.          ~~~~~~~~~~~~~~~~~~~~~~~~
  4204.          If  you have a modem you can download the registered  version
  4205.          of  THE FINISHING TOUCH the same day that you order, and  you
  4206.          can update version 2.X FREE as often as you like!   Call  our
  4207.          BBS  at  (505) 275-9697 96,N,8,1 to enter your  password.  We
  4208.          will increase your security level after we receive payment.
  4209.  
  4210.                   Mail to:             ImagiSOFT, Inc.
  4211.                                        Software Utilities Division
  4212.                                        P.O. Box 13208
  4213.                                        Albuquerque, NM   USA   87192
  4214.  
  4215.          Credit Card Orders May Call:  (800) 767-1978
  4216.          or FAX this form to us:       (505) 275-9697
  4217.  
  4218.